Skip to content
Snippets Groups Projects
Commit 6f8a9d8b authored by Mário Murín's avatar Mário Murín
Browse files

Merge branch 'refs/heads/develop' into 117-duplicate-userrefid-causing-lockup-on-a-parallel-upload

# Conflicts:
#	VERSION.txt
parents 3c136c93 b1efa5a4
No related branches found
No related tags found
2 merge requests!142Develop,!138Resolve "Duplicate userRefId causing lockup on a parallel upload"
Pipeline #483358 passed with stages
in 2 minutes and 30 seconds
2.2.9 Fix user ref creation failing on parallel requests.
2.2.10 Fix user ref creation failing on parallel requests.
2.2.9 Add check to prevent reviving an expired training instance.
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.
......
......@@ -135,6 +135,7 @@ public class TrainingInstanceService {
public String update(TrainingInstance trainingInstanceToUpdate) {
validateStartAndEndTime(trainingInstanceToUpdate);
TrainingInstance trainingInstance = findById(trainingInstanceToUpdate.getId());
checkNotRevivingAnExpiredInstance(trainingInstanceToUpdate, trainingInstance);
//add original organizers to update
trainingInstanceToUpdate.setOrganizers(new HashSet<>(trainingInstance.getOrganizers()));
addLoggedInUserAsOrganizerToTrainingInstance(trainingInstanceToUpdate);
......@@ -176,6 +177,14 @@ public class TrainingInstanceService {
}
}
private void checkNotRevivingAnExpiredInstance(TrainingInstance trainingInstanceToUpdate, TrainingInstance currentTrainingInstance) {
if (currentTrainingInstance.finished() && !trainingInstanceToUpdate.finished()) {
throw new EntityConflictException(new EntityErrorDetail(TrainingInstance.class, "id",
trainingInstanceToUpdate.getId().getClass(), trainingInstanceToUpdate.getId(),
"End time of an expired instance cannot be set to the future."));
}
}
private void checkChangedFieldsOfTrainingInstance(TrainingInstance trainingInstanceToUpdate, TrainingInstance currentTrainingInstance) {
if (!currentTrainingInstance.getStartTime().equals(trainingInstanceToUpdate.getStartTime())) {
throw new EntityConflictException(new EntityErrorDetail(TrainingInstance.class, "id", Long.class, trainingInstanceToUpdate.getId(),
......
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