Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • muni-kypo-crp/backend-java/kypo-adaptive-training
1 result
Show changes
Commits on Source (2)
Showing
with 30 additions and 4 deletions
......@@ -3,6 +3,8 @@ package cz.muni.ics.kypo.training.adaptive.domain.phase;
import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseRelation;
import javax.persistence.*;
import java.time.Clock;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
......
......@@ -19,6 +19,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.Clock;
import java.time.LocalDateTime;
@Service
@Transactional
......
......@@ -309,6 +309,7 @@ public class TrainingDefinitionFacade {
if (authorsAddition != null && !authorsAddition.isEmpty()) {
addAuthorsToTrainingDefinition(trainingDefinition, authorsAddition);
}
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
}
private void addAuthorsToTrainingDefinition(TrainingDefinition trainingDefinition, Set<Long> userRefIds) {
......@@ -331,6 +332,9 @@ public class TrainingDefinitionFacade {
}
}
} while (authors.getPagination().getTotalPages() != page);
}
private LocalDateTime getCurrentTimeInUTC() {
return LocalDateTime.now(Clock.systemUTC());
}
}
......@@ -46,6 +46,7 @@ public class InfoPhaseService {
public InfoPhase createDefaultInfoPhase(Long trainingDefinitionId) {
TrainingDefinition trainingDefinition = findDefinitionById(trainingDefinitionId);
checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
InfoPhase infoPhase = new InfoPhase();
infoPhase.setContent("Content of info phase");
......@@ -53,15 +54,14 @@ public class InfoPhaseService {
infoPhase.setTrainingDefinition(trainingDefinition);
infoPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1);
InfoPhase persistedEntity = infoPhaseRepository.save(infoPhase);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
return persistedEntity;
return infoPhaseRepository.save(infoPhase);
}
public InfoPhase updateInfoPhase(Long phaseId, InfoPhase infoPhaseToUpdate) {
InfoPhase persistedInfoPhase = findInfoPhaseById(phaseId);
TrainingDefinition trainingDefinition = persistedInfoPhase.getTrainingDefinition();
checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
infoPhaseToUpdate.setId(phaseId);
infoPhaseToUpdate.setTrainingDefinition(trainingDefinition);
infoPhaseToUpdate.setOrder(persistedInfoPhase.getOrder());
......
......@@ -103,6 +103,7 @@ public class PhaseService {
}
phaseFrom.setOrder(toOrder);
trainingPhaseService.alignDecisionMatrixOfTrainingPhasesAfterMove(phaseFrom.getTrainingDefinition().getId(), trainingPhaseFromOrder, trainingPhaseToOrder);
phaseFrom.getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
abstractPhaseRepository.save(phaseFrom);
}
......
......@@ -76,6 +76,7 @@ public class QuestionnairePhaseService {
public QuestionnairePhase updateQuestionnairePhase(Long phaseId, QuestionnairePhase questionnairePhaseToUpdate) {
QuestionnairePhase persistedQuestionnairePhase = findQuestionnairePhaseById(phaseId);
checkIfCanBeUpdated(persistedQuestionnairePhase.getTrainingDefinition());
persistedQuestionnairePhase.getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
questionnairePhaseToUpdate.setId(phaseId);
questionnairePhaseToUpdate.setTrainingDefinition(persistedQuestionnairePhase.getTrainingDefinition());
......
......@@ -11,6 +11,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.Clock;
import java.time.LocalDateTime;
@Service
public class TaskService {
......@@ -32,11 +35,13 @@ public class TaskService {
task.setContent("Task content ...");
task.setSolution("Task solution ...");
task.setIncorrectAnswerLimit(1);
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(task);
}
public Task createTask(Task task) {
task.setOrder(taskRepository.getCurrentMaxOrder(task.getTrainingPhase().getId()) + 1);
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(task);
}
......@@ -50,10 +55,12 @@ public class TaskService {
updatedTask.setId(taskId);
updatedTask.setTrainingPhase(persistedTask.getTrainingPhase());
updatedTask.setOrder(persistedTask.getOrder());
updatedTask.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(updatedTask);
}
public void removeTask(Task task) {
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
taskRepository.decreaseOrderAfterTaskWasDeleted(task.getTrainingPhase().getId(), task.getOrder());
taskRepository.delete(task);
}
......@@ -71,7 +78,12 @@ public class TaskService {
return;
}
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
task.setOrder(newPosition);
taskRepository.save(task);
}
private LocalDateTime getCurrentTimeInUTC() {
return LocalDateTime.now(Clock.systemUTC());
}
}
......@@ -76,6 +76,7 @@ public class TrainingPhaseService {
TrainingPhase persistedTrainingPhase = findPhaseById(phaseId);
TrainingDefinition trainingDefinition = persistedTrainingPhase.getTrainingDefinition();
checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
trainingPhaseToUpdate.setId(phaseId);
trainingPhaseToUpdate.setTrainingDefinition(persistedTrainingPhase.getTrainingDefinition());
trainingPhaseToUpdate.setOrder(persistedTrainingPhase.getOrder());
......
......@@ -147,6 +147,7 @@ public class TrainingDefinitionService {
*/
public TrainingDefinition create(TrainingDefinition trainingDefinition) {
addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
LOG.info("Training definition with id: {} created.", trainingDefinition.getId());
return trainingDefinitionRepository.save(trainingDefinition);
}
......@@ -163,6 +164,7 @@ public class TrainingDefinitionService {
checkIfCanBeUpdated(trainingDefinition);
addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinitionToUpdate);
trainingDefinitionToUpdate.setEstimatedDuration(trainingDefinition.getEstimatedDuration());
trainingDefinitionToUpdate.setLastEdited(getCurrentTimeInUTC());
trainingDefinitionRepository.save(trainingDefinitionToUpdate);
LOG.info("Training definition with id: {} updated.", trainingDefinitionToUpdate.getId());
}
......@@ -181,6 +183,7 @@ public class TrainingDefinitionService {
TrainingDefinition clonedTrainingDefinition = cloneMapper.clone(trainingDefinition);
clonedTrainingDefinition.setTitle(title);
addLoggedInUserToTrainingDefinitionAsAuthor(clonedTrainingDefinition);
clonedTrainingDefinition.setLastEdited(getCurrentTimeInUTC());
clonedTrainingDefinition = trainingDefinitionRepository.save(clonedTrainingDefinition);
clonePhasesFromTrainingDefinition(trainingDefinition.getId(), clonedTrainingDefinition);
......@@ -428,6 +431,5 @@ public class TrainingDefinitionService {
User newUser = new User(userManagementServiceApi.getLoggedInUserRefId());
trainingDefinition.addAuthor(newUser);
}
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
}
}