Skip to content
Snippets Groups Projects
Commit 9fcc1822 authored by Lukáš Majdan's avatar Lukáš Majdan
Browse files

Merge branch...

Merge branch '114-disable-adding-updating-and-removing-tasks-to-a-training-definition-when-it-s-in-use' into 'develop'

Resolve "disable adding, updating and removing tasks to a training definition when it's in use"

See merge request !134
parents 3361967e 4362809a
No related branches found
No related tags found
2 merge requests!135Develop,!134Resolve "disable adding, updating and removing tasks to a training definition when it's in use"
Pipeline #421933 passed with stages
in 5 minutes and 16 seconds
2.2.8 Add check for training definition being in use when trying to add, remove and update tasks.
2.2.7 Add more descriptive message when training phase contains no tasks. Add answer required field to Adaptive Question.
2.2.6 Implement the ANSWER tag replacing in task solution.
2.2.5 Fix ATD update not setting createdAt.
......
......@@ -53,6 +53,7 @@ public class TaskFacade {
@TransactionalWO
public TaskDTO createDefaultTask(Long phaseId) {
AbstractPhase trainingPhase = phaseService.getPhase(phaseId);
trainingDefinitionService.checkIfCanBeUpdated(trainingPhase.getTrainingDefinition());
if (!(trainingPhase instanceof TrainingPhase)) {
throw new EntityConflictException(new EntityErrorDetail(AbstractPhase.class, "id", phaseId.getClass(), phaseId, "The specified phase isn't training phase."));
}
......@@ -66,6 +67,7 @@ public class TaskFacade {
@TransactionalWO
public TaskDTO createTask(Long phaseId, TaskCopyDTO taskCopyDTO) {
AbstractPhase trainingPhase = this.phaseService.getPhase(phaseId);
trainingDefinitionService.checkIfCanBeUpdated(trainingPhase.getTrainingDefinition());
if (!(trainingPhase instanceof TrainingPhase)) {
throw new EntityConflictException(new EntityErrorDetail(AbstractPhase.class, "id", phaseId.getClass(), phaseId, "The specified phase isn't training phase."));
}
......@@ -99,6 +101,8 @@ public class TaskFacade {
"or @securityService.isDesignerOfGivenTask(#taskId)")
@TransactionalWO
public TaskDTO updateTask(Long taskId, TaskUpdateDTO taskUpdateDto) {
TrainingDefinition trainingDefinition = this.taskService.getTask(taskId).getTrainingPhase().getTrainingDefinition();
trainingDefinitionService.checkIfCanBeUpdated(trainingDefinition);
Task updatedTask = this.taskService.updateTask(taskId, this.taskMapper.mapToEntity(taskUpdateDto));
trainingDefinitionService.auditAndSave(updatedTask.getTrainingPhase().getTrainingDefinition());
return this.taskMapper.mapToTaskDTO(updatedTask);
......@@ -115,6 +119,7 @@ public class TaskFacade {
public void removeTask(Long taskId) {
Task taskToRemove = this.taskService.getTask(taskId);
TrainingDefinition relatedTrainingDefinition = taskToRemove.getTrainingPhase().getTrainingDefinition();
trainingDefinitionService.checkIfCanBeUpdated(relatedTrainingDefinition);
this.taskService.removeTask(taskToRemove);
trainingDefinitionService.auditAndSave(relatedTrainingDefinition);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment