diff --git a/pom.xml b/pom.xml
index 610cd42..33dbe52 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.1.17.RELEASE
+ 2.2.11.RELEASE
com.edimitri
diff --git a/src/main/java/com/edimitri/cohortcalendar/controllers/CohortController.java b/src/main/java/com/edimitri/cohortcalendar/controllers/CohortController.java
index 62c867d..9f03748 100644
--- a/src/main/java/com/edimitri/cohortcalendar/controllers/CohortController.java
+++ b/src/main/java/com/edimitri/cohortcalendar/controllers/CohortController.java
@@ -84,7 +84,7 @@ public String getCalendar(@PathVariable int year, @PathVariable int month, @Path
for (CohortDay cohortDay: calendar) {
String dayDisplay = "";
if(cohortDay.getHoliday() != null) {
- dayDisplay = String.format("%s", cohortDay.getHoliday().getName());
+ dayDisplay = String.format("%s", cohortDay.getHoliday().getHolidayName());
} else {
dayDisplay = cohortDay.getDate().getDayOfWeek().toString();
}
@@ -93,6 +93,4 @@ public String getCalendar(@PathVariable int year, @PathVariable int month, @Path
return body;
}
-
-
}
\ No newline at end of file
diff --git a/src/main/java/com/edimitri/cohortcalendar/controllers/HolidayController.java b/src/main/java/com/edimitri/cohortcalendar/controllers/HolidayController.java
index 47507a0..30d3163 100644
--- a/src/main/java/com/edimitri/cohortcalendar/controllers/HolidayController.java
+++ b/src/main/java/com/edimitri/cohortcalendar/controllers/HolidayController.java
@@ -14,18 +14,14 @@
@Controller
public class HolidayController {
- private final HolidayRepository holidayRepository;
-
- public HolidayController(HolidayRepository holidayRepository) {
- this.holidayRepository = holidayRepository;
- }
+ @Autowired
+ private HolidayRepository holidayRepository;
@GetMapping("/holidays")
public String cohortsIndex(Model model) {
List holidays = holidayRepository.findAll();
model.addAttribute("holidays", holidays);
- model.addAttribute("byDate", Comparator.comparing(Holiday::getDate));
-
+ model.addAttribute("byDate", Comparator.comparing(Holiday::getHolidayDate));
return "holidays/holidays";
}
@@ -52,7 +48,7 @@ public String showUpdateHolidayForm(@PathVariable("id") Long id, Model model){
@PostMapping("holidays/{id}/edit")
public String editHoliday(@PathVariable Long id, @Valid Holiday editedHoliday, Model model) {
editedHoliday.setId(id);
- editedHoliday.setName(editedHoliday.getName());
+ editedHoliday.setHolidayName(editedHoliday.getHolidayName());
holidayRepository.save(editedHoliday);
return "redirect:/holidays";
}
diff --git a/src/main/java/com/edimitri/cohortcalendar/controllers/UserController.java b/src/main/java/com/edimitri/cohortcalendar/controllers/UserController.java
index 4092333..ce06d6e 100644
--- a/src/main/java/com/edimitri/cohortcalendar/controllers/UserController.java
+++ b/src/main/java/com/edimitri/cohortcalendar/controllers/UserController.java
@@ -1,6 +1,7 @@
package com.edimitri.cohortcalendar.controllers;
import com.edimitri.cohortcalendar.models.*;
+import com.edimitri.cohortcalendar.repositories.Roles;
import com.edimitri.cohortcalendar.services.UserService;
import com.google.inject.internal.Errors;
import org.springframework.beans.factory.annotation.Autowired;
@@ -29,13 +30,12 @@ public class UserController {
@Autowired
private PasswordEncoder passwordEncoder;
- /*@Autowired
- private UserRoles userRoles;*/
+ @Autowired
+ private Roles userRoles;
@Autowired
private UserService userService;
-
@GetMapping("/sign-up")
public String showSignupForm(Model model) {
model.addAttribute("user", new User());
@@ -46,68 +46,53 @@ public String saveUser(@ModelAttribute User user) {
String hash = passwordEncoder.encode(user.getPassword());
user.setPassword(hash);
userRepository.save(user);
- authenticate(user);
+ userService.authenticate(user);
return "index";
}
- private void authenticate(User user) {
- UserDetails userDetails = new UserWithRoles(user, Collections.emptyList());
- Authentication auth = new UsernamePasswordAuthenticationToken(
- userDetails,
- userDetails.getPassword(),
- userDetails.getAuthorities()
- );
- SecurityContext context = SecurityContextHolder.getContext();
- context.setAuthentication(auth);
- }
-
- /*@PostMapping("/users/create")
- public String saveUser(@Valid User user, Errors validation, Model m){
-
- String username = user.getUsername();
- User existingUsername = userRepository.findByUsername(username);
- User existingEmail = userRepository.findByEmail(user.getEmail());
-
-*//*
- if(existingUsername != null){
-
- validation.rejectValue("username", "user.username", "Duplicated username " + username);
-
- }
-
- if(existingEmail != null){
-
- validation.rejectValue("email", "user.email", "Duplicated email " + user.getEmail());
-
- }
-
- *//*
-
- if (validation.hasErrors()) {
- m.addAttribute("errors", validation);
- m.addAttribute("user", user);
- return "users/create";
- }
-
- user.setPassword(passwordEncoder.encode(user.getPassword()));
-
- // Custom validation if the username is taken
-
- User newUser = UserRepository.save(user);
-
- UserRole ur = new UserRole();
- ur.setRole("ROLE_USER");
- ur.setUserId(newUser.getId());
- userRoles.save(ur);
-
- // Programmatic login after registering a user
- UserService.authenticate(user);
-
- m.addAttribute("user", user);
- return "redirect:/";
-
- }*/
-
+// @PostMapping("/users/create")
+// public String saveUser(@Valid User user, Errors validation, Model m){
+//
+// String username = user.getUsername();
+// User existingUsername = userRepository.findByUsername(username);
+// User existingEmail = userRepository.findByEmail(user.getEmail());
+//
+//// if(existingUsername != null){
+////
+//// validation.re("username", "user.username", "Duplicated username " + username);
+////
+//// }
+////
+//// if(existingEmail != null){
+////
+//// validation.rejectValue("email", "user.email", "Duplicated email " + user.getEmail());
+////
+//// }
+//
+// if (validation.hasErrors()) {
+// m.addAttribute("errors", validation);
+// m.addAttribute("user", user);
+// return "users/create";
+// }
+//
+// user.setPassword(passwordEncoder.encode(user.getPassword()));
+//
+// // Custom validation if the username is taken
+//
+// User newUser = userRepository.save(user);
+//
+// UserRole ur = new UserRole();
+// ur.setRole("ROLE_USER");
+// ur.setUserId(newUser.getId());
+// userRoles.save(ur);
+//
+// // Programmatic login after registering a user
+// userService.authenticate(user);
+//
+// m.addAttribute("user", user);
+// return "redirect:/";
+//
+// }
@GetMapping("/users/profile")
public String showProfile(Model viewModel){
diff --git a/src/main/java/com/edimitri/cohortcalendar/models/Holiday.java b/src/main/java/com/edimitri/cohortcalendar/models/Holiday.java
index e5bf6af..7a3df18 100644
--- a/src/main/java/com/edimitri/cohortcalendar/models/Holiday.java
+++ b/src/main/java/com/edimitri/cohortcalendar/models/Holiday.java
@@ -4,7 +4,6 @@
import javax.persistence.*;
import java.time.LocalDate;
-import java.util.Date;
@Entity
@Table(name = "holidays")
@@ -14,17 +13,17 @@ public class Holiday {
private Long id;
@Column(nullable=false)
- private String name;
+ private String holidayName;
@Column(nullable=false, unique=true)
@DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate date;
+ private LocalDate holidayDate;
public Holiday(){}
- public Holiday(String name, LocalDate date) {
- this.name = name;
- this.date = date;
+ public Holiday(String holidayName, LocalDate holidayDate) {
+ this.holidayName = holidayName;
+ this.holidayDate = holidayDate;
}
public Long getId() {
@@ -35,20 +34,20 @@ public void setId(Long id) {
this.id = id;
}
- public String getName() {
- return name;
+ public String getHolidayName() {
+ return holidayName;
}
- public void setName(String name) {
- this.name= name;
+ public void setHolidayName(String name) {
+ this.holidayName = name;
}
- public LocalDate getDate() {
- return date;
+ public LocalDate getHolidayDate() {
+ return holidayDate;
}
- public void setDate(LocalDate date) {
- this.date = date;
+ public void setHolidayDate(LocalDate date) {
+ this.holidayDate = date;
}
}
diff --git a/src/main/java/com/edimitri/cohortcalendar/repositories/CohortRepository.java b/src/main/java/com/edimitri/cohortcalendar/repositories/CohortRepository.java
index f296165..357c8b5 100644
--- a/src/main/java/com/edimitri/cohortcalendar/repositories/CohortRepository.java
+++ b/src/main/java/com/edimitri/cohortcalendar/repositories/CohortRepository.java
@@ -4,17 +4,20 @@
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
import java.util.List;
-public interface CohortRepository extends JpaRepository {
+@Repository
+public interface CohortRepository extends JpaRepository {
Cohort findByName(String name);
+
Cohort findByCampusAndProgramType(String campus, String programType);
- ListfindByProgramType(String programType);
+ List findByProgramType(String programType);
List findByCampus(String campus);
List findAll();
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/edimitri/cohortcalendar/repositories/HolidayRepository.java b/src/main/java/com/edimitri/cohortcalendar/repositories/HolidayRepository.java
index 7364e9e..5a59c40 100644
--- a/src/main/java/com/edimitri/cohortcalendar/repositories/HolidayRepository.java
+++ b/src/main/java/com/edimitri/cohortcalendar/repositories/HolidayRepository.java
@@ -2,10 +2,11 @@
import com.edimitri.cohortcalendar.models.Holiday;
import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
import java.time.LocalDate;
+@Repository
public interface HolidayRepository extends JpaRepository {
- Holiday findFirstByDate(LocalDate date);
- //see Defining Query Methods lesson in curriculum
-}
+ Holiday findFirstByHolidayDate(LocalDate date);
+}
\ No newline at end of file
diff --git a/src/main/java/com/edimitri/cohortcalendar/repositories/Roles.java b/src/main/java/com/edimitri/cohortcalendar/repositories/Roles.java
index 7e6e103..728148f 100644
--- a/src/main/java/com/edimitri/cohortcalendar/repositories/Roles.java
+++ b/src/main/java/com/edimitri/cohortcalendar/repositories/Roles.java
@@ -3,9 +3,11 @@
import com.edimitri.cohortcalendar.models.UserRole;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
import java.util.List;
+@Repository
public interface Roles extends CrudRepository {
@Query("select ur.role from UserRole ur, User u where u.username=?1 and ur.userId = u.id")
List ofUserWith(String username);
diff --git a/src/main/java/com/edimitri/cohortcalendar/repositories/UserRepository.java b/src/main/java/com/edimitri/cohortcalendar/repositories/UserRepository.java
index f91a543..98e240a 100644
--- a/src/main/java/com/edimitri/cohortcalendar/repositories/UserRepository.java
+++ b/src/main/java/com/edimitri/cohortcalendar/repositories/UserRepository.java
@@ -2,7 +2,9 @@
import com.edimitri.cohortcalendar.models.User;
import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+@Repository
public interface UserRepository extends JpaRepository {
// User findByEmail(String email);
User findByUsername(String username);
diff --git a/src/main/java/com/edimitri/cohortcalendar/services/CohortCalendarServiceImpl.java b/src/main/java/com/edimitri/cohortcalendar/services/CohortCalendarServiceImpl.java
index 7cfb0c5..2c0f92f 100644
--- a/src/main/java/com/edimitri/cohortcalendar/services/CohortCalendarServiceImpl.java
+++ b/src/main/java/com/edimitri/cohortcalendar/services/CohortCalendarServiceImpl.java
@@ -3,6 +3,7 @@
import com.edimitri.cohortcalendar.models.CohortDay;
import com.edimitri.cohortcalendar.models.Holiday;
import com.edimitri.cohortcalendar.repositories.HolidayRepository;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.DayOfWeek;
@@ -12,11 +13,9 @@
@Service
public class CohortCalendarServiceImpl implements CohortCalendarService{
- private final HolidayRepository holidayRepository;
- public CohortCalendarServiceImpl(HolidayRepository holidayRepository){
- this.holidayRepository=holidayRepository;
- }
+ @Autowired
+ private HolidayRepository holidayRepository;
@Override
public List getCalendar(LocalDate startDate, double contactHours){
@@ -26,7 +25,7 @@ public List getCalendar(LocalDate startDate, double contactHours){
LocalDate currentDate=startDate;
double totalHours=0;
while (totalHours getCalendar(LocalDate startDate, double contactHours){
return results;
}
-
- public Holiday getHolidayByDate(LocalDate date) {
- return holidayRepository.findFirstByDate(date);
- }
-
public static double getHoursOfDayofWeek(DayOfWeek dayOfWeek) {
double dayHours;
switch (dayOfWeek) {
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index b20b6e5..cb6723e 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,7 +1,5 @@
-spring.datasource.url=jdbc:mysql://localhost/cohort_calendar_db?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
-spring.jpa.properties.hibernate.jdbc.time_zone=UTC
+spring.datasource.url=jdbc:mysql://localhost/cohort_calendar_db?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=codeup
spring.jpa.hibernate.ddl-auto=update
-spring.jpa.show-sql=true
-user.timezone=UTC
\ No newline at end of file
+spring.jpa.show-sql=true
\ No newline at end of file
diff --git a/src/main/resources/templates/holidays/add.html b/src/main/resources/templates/holidays/add.html
index 668414c..509fbcc 100644
--- a/src/main/resources/templates/holidays/add.html
+++ b/src/main/resources/templates/holidays/add.html
@@ -13,12 +13,12 @@ Add Holidays
-
+
-
+
diff --git a/src/main/resources/templates/holidays/edit.html b/src/main/resources/templates/holidays/edit.html
index 2b8b6de..0007ca6 100644
--- a/src/main/resources/templates/holidays/edit.html
+++ b/src/main/resources/templates/holidays/edit.html
@@ -11,12 +11,12 @@ Edit Holidays
-
+
-
+
diff --git a/src/main/resources/templates/holidays/holidays.html b/src/main/resources/templates/holidays/holidays.html
index d2c7eb5..1250e7c 100644
--- a/src/main/resources/templates/holidays/holidays.html
+++ b/src/main/resources/templates/holidays/holidays.html
@@ -26,8 +26,8 @@ No holidays yet!
- |
- |
+ |
+ |
Edit |
Delete |
diff --git a/src/seeder-data/campuses.sql b/src/seeder-data/campuses.sql
index a71d3fa..64bd02f 100644
--- a/src/seeder-data/campuses.sql
+++ b/src/seeder-data/campuses.sql
@@ -1,4 +1,7 @@
use cohort_calendar_db;
INSERT INTO campuses(campus_name)
-VALUES ('SAT','DAL','HOU','AUS');
\ No newline at end of file
+VALUES ('SAT'),
+ ('DAL'),
+ ('AUS'),
+ ('HOU');
\ No newline at end of file
diff --git a/src/seeder-data/users.sql b/src/seeder-data/users.sql
index 80f6087..cf09492 100644
--- a/src/seeder-data/users.sql
+++ b/src/seeder-data/users.sql
@@ -1,7 +1,9 @@
use cohort_calendar_db;
-INSERT INTO users(email, first_name, is_admin, last_name, password)
-VALUES ('dimitri@codeup.com', 'Dimitri', true, 'Antoniou', 'codeup'),
- ('liz@codeup.com', 'Liz', true, 'Maya', 'codeup'),
- ('jason@codeup.com', 'Jason', true, 'Straughan', 'codeup'),
- ('katie@codeup.com', 'Katie', false, 'Facemire', 'codeup');
+-- passwords = pass
+INSERT INTO users(email, first_name, is_admin, last_name, password, username)
+VALUES ('dimitri@codeup.com', 'Dimitri', true, 'Antoniou', '$2a$10$3Ffh4PsLPljCXNKhhpqpEezCp92GjDIT3oVJghWvbqPF5hW3oBXw.', 'dimitri'),
+ ('liz@codeup.com', 'Liz', true, 'Maya', '$2a$10$3Ffh4PsLPljCXNKhhpqpEezCp92GjDIT3oVJghWvbqPF5hW3oBXw.', 'liz'),
+ ('jason@codeup.com', 'Jason', true, 'Straughan', '$2a$10$3Ffh4PsLPljCXNKhhpqpEezCp92GjDIT3oVJghWvbqPF5hW3oBXw.', 'jason'),
+ ('katie@codeup.com', 'Katie', false, 'Facemire', '$2a$10$3Ffh4PsLPljCXNKhhpqpEezCp92GjDIT3oVJghWvbqPF5hW3oBXw.', 'katie'),
+ ('fernando@codeup.com', 'fer', true, 'Mendoza', '$2a$10$3Ffh4PsLPljCXNKhhpqpEezCp92GjDIT3oVJghWvbqPF5hW3oBXw.', 'fer');