use of com.axelor.apps.crm.db.Event in project axelor-open-suite by axelor.
the class TrainingRegisterServiceImpl method plan.
@Transactional
@Override
public Event plan(TrainingRegister trainingRegister) {
trainingRegister.setStatusSelect(1);
trainingRegisterRepo.save(trainingRegister);
Event event = generateMeeting(trainingRegister);
return eventRepo.save(event);
}
use of com.axelor.apps.crm.db.Event in project axelor-open-suite by axelor.
the class TrainingRegisterServiceImpl method updateEventCalendar.
@Transactional
@Override
public void updateEventCalendar(TrainingRegister trainingRegister) {
Event event = eventRepo.all().filter("self.relatedToSelect = ?1 AND self.relatedToSelectId = ?2", RELATED_TO_TRAINING_REGISTER, trainingRegister.getId()).fetchOne();
if (event != null) {
event.setCalendar(trainingRegister.getCalendar());
eventRepo.save(event);
}
}
use of com.axelor.apps.crm.db.Event in project axelor-open-suite by axelor.
the class TrainingRegisterServiceImpl method generateMeeting.
protected Event generateMeeting(TrainingRegister trainingRegister) {
Event event = new Event();
event.setTypeSelect(EventRepository.TYPE_MEETING);
event.setStartDateTime(trainingRegister.getFromDate());
event.setEndDateTime(trainingRegister.getToDate());
event.setSubject(trainingRegister.getTraining().getName());
event.setUser(trainingRegister.getEmployee().getUser());
event.setCalendar(trainingRegister.getCalendar());
event.setRelatedToSelect(RELATED_TO_TRAINING_REGISTER);
event.setRelatedToSelectId(trainingRegister.getId());
if (trainingRegister.getTrainingSession() != null) {
event.setLocation(trainingRegister.getTrainingSession().getLocation());
}
return event;
}
use of com.axelor.apps.crm.db.Event in project axelor-open-suite by axelor.
the class TrainingRegisterServiceImpl method massTrainingRegisterCreation.
@Override
@Transactional
public String massTrainingRegisterCreation(ArrayList<LinkedHashMap<String, Object>> employeeList, TrainingSession trainingSession) {
List<Long> eventsIds = new ArrayList<>();
for (LinkedHashMap<String, Object> employeeMap : employeeList) {
Employee employee = Beans.get(EmployeeRepository.class).find(Long.parseLong(employeeMap.get("id").toString()));
if (employee.getUser() == null) {
continue;
}
TrainingRegister trainingRegister = new TrainingRegister();
trainingRegister.setTraining(trainingSession.getTraining());
trainingRegister.setFromDate(trainingSession.getFromDate());
trainingRegister.setToDate(trainingSession.getToDate());
trainingRegister.setTrainingSession(trainingSession);
trainingRegister.setEmployee(employee);
trainingRegister.setRating(trainingSession.getOverallRatingToApply());
Event event = this.plan(trainingRegister);
trainingRegister.getEventList().add(event);
eventsIds.add(event.getId());
trainingSession.getTrainingRegisterList().add(trainingRegister);
}
Beans.get(TrainingSessionRepository.class).save(trainingSession);
return eventsIds.toString().replace("[", "(").replace("]", ")");
}
use of com.axelor.apps.crm.db.Event in project axelor-open-suite by axelor.
the class TrainingSessionServiceImpl method updateTraingRegisterTraining.
@Override
@Transactional
public TrainingSession updateTraingRegisterTraining(TrainingSession trainingSession) {
Training training = trainingSession.getTraining();
for (TrainingRegister register : trainingSession.getTrainingRegisterList()) {
register.setTraining(training);
for (Event event : register.getEventList()) {
event.setSubject(training.getName());
Beans.get(EventRepository.class).save(event);
}
}
return trainingSession;
}
Aggregations