Merge pull request 'Notifications on Schedule' (#172) from NotificationSchedule into master
Reviewed-on: PGL/Clyde#172
This commit is contained in:
@ -7,10 +7,7 @@ package ovh.herisson.Clyde.Services;
|
||||
* @scope Extension Horaire
|
||||
******************************************************/
|
||||
import org.springframework.stereotype.Service;
|
||||
import ovh.herisson.Clyde.Repositories.CourseRepository;
|
||||
import ovh.herisson.Clyde.Repositories.CurriculumCourseRepository;
|
||||
import ovh.herisson.Clyde.Repositories.LessonRepository;
|
||||
import ovh.herisson.Clyde.Repositories.UserCurriculumRepository;
|
||||
import ovh.herisson.Clyde.Repositories.*;
|
||||
import ovh.herisson.Clyde.Tables.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -19,12 +16,17 @@ import java.util.Map;
|
||||
@Service
|
||||
public class LessonService {
|
||||
private final LessonRepository lessonRepo;
|
||||
|
||||
private final ScheduleLessonRepository scheduleLessonRepo;
|
||||
private final UserCurriculumRepository userCurriculumRepo;
|
||||
private final UserService userServ;
|
||||
private final CourseRepository courseRepo;
|
||||
private final CurriculumCourseRepository curriculumCourseRepo;
|
||||
public LessonService(LessonRepository lessonRepo, UserCurriculumRepository userCurriculumRepo, CourseRepository courseRepo, CurriculumCourseRepository curriculumCourseRepo){
|
||||
public LessonService(LessonRepository lessonRepo, ScheduleLessonRepository scheduleLessonRepo, UserCurriculumRepository userCurriculumRepo, UserService userServ, CourseRepository courseRepo, CurriculumCourseRepository curriculumCourseRepo){
|
||||
this.lessonRepo = lessonRepo;
|
||||
this.scheduleLessonRepo = scheduleLessonRepo;
|
||||
this.userCurriculumRepo = userCurriculumRepo;
|
||||
this.userServ = userServ;
|
||||
this.courseRepo = courseRepo;
|
||||
this.curriculumCourseRepo = curriculumCourseRepo;
|
||||
}
|
||||
@ -136,7 +138,12 @@ public class LessonService {
|
||||
break;
|
||||
}
|
||||
}
|
||||
lessonRepo.save(target);
|
||||
Lesson lesson = lessonRepo.save(target);
|
||||
ScheduleLesson scheduleLesson = scheduleLessonRepo.findByLesson(lesson);
|
||||
Iterable<User> users = userCurriculumRepo.findUsersByCurriculum(scheduleLesson.getSchedule().getCurriculum());
|
||||
for(User user: users){
|
||||
userServ.Notify(user, new Notification("Course modified in the schedule", "Course Modified " + lesson.getCourse().getTitle() , "/#/schedule"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
|
@ -9,22 +9,26 @@ import org.springframework.stereotype.Service;
|
||||
import ovh.herisson.Clyde.Repositories.LessonRepository;
|
||||
import ovh.herisson.Clyde.Repositories.ScheduleLessonRepository;
|
||||
import ovh.herisson.Clyde.Repositories.ScheduleRepository;
|
||||
import ovh.herisson.Clyde.Repositories.UserCurriculumRepository;
|
||||
import ovh.herisson.Clyde.Tables.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class ScheduleLessonService {
|
||||
|
||||
private final ScheduleLessonRepository scheduleLessonRepo;
|
||||
|
||||
private final UserCurriculumRepository userCurriculumRepo;
|
||||
private final UserService userServ;
|
||||
private final LessonRepository lessonRepo;
|
||||
private final ScheduleRepository scheduleRepo;
|
||||
public ScheduleLessonService(ScheduleLessonRepository scheduleLessonRepo, LessonRepository lessonRepo, ScheduleRepository scheduleRepo) {
|
||||
public ScheduleLessonService(ScheduleLessonRepository scheduleLessonRepo, UserCurriculumRepository userCurriculumRepo, UserService userServ, LessonRepository lessonRepo, ScheduleRepository scheduleRepo) {
|
||||
this.scheduleLessonRepo = scheduleLessonRepo;
|
||||
this.userCurriculumRepo = userCurriculumRepo;
|
||||
this.userServ = userServ;
|
||||
this.lessonRepo = lessonRepo;
|
||||
this.scheduleRepo = scheduleRepo;
|
||||
}
|
||||
@ -32,19 +36,22 @@ public class ScheduleLessonService {
|
||||
if(scheduleLesson == null)
|
||||
return false;
|
||||
scheduleLessonRepo.save(scheduleLesson);
|
||||
Iterable<User> users = userCurriculumRepo.findUsersByCurriculum(scheduleLesson.getSchedule().getCurriculum());
|
||||
for(User user: users){
|
||||
userServ.Notify(user, new Notification("New course in the schedule", "Course added " + scheduleLesson.getLesson().getCourse().getTitle(), "/#/schedule"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Save a lesson to all the schedule it is linked
|
||||
*/
|
||||
public boolean saveToAllSchedule(Lesson lesson){
|
||||
public void saveToAllSchedule(Lesson lesson){
|
||||
Iterable<Schedule> schedules = scheduleRepo.findAllLessonSchedule(lesson.getCourse());
|
||||
if(schedules == null)
|
||||
return false;
|
||||
return;
|
||||
for (Schedule schedule : schedules){
|
||||
save(new ScheduleLesson(schedule, lesson));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Delete a scheduleLesson via its lesson
|
||||
@ -52,6 +59,11 @@ public class ScheduleLessonService {
|
||||
public boolean delete(long lessonId){
|
||||
if(lessonId == 0)
|
||||
return false;
|
||||
ScheduleLesson scheduleLesson = scheduleLessonRepo.findByLesson(lessonRepo.findById(lessonId));
|
||||
Iterable<User> users = userCurriculumRepo.findUsersByCurriculum(scheduleLesson.getSchedule().getCurriculum());
|
||||
for(User user: users){
|
||||
userServ.Notify(user, new Notification("Course deleted in the schedule","Course deleted " + scheduleLesson.getLesson().getCourse().getTitle(), "/#/schedule"));
|
||||
}
|
||||
scheduleLessonRepo.delete(lessonRepo.findById(lessonId));
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user