Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.imi.mopat.controller;

import de.imi.mopat.controller.util.SaveAndEditNextInOrderUtil;
import de.imi.mopat.dao.AnswerDao;
import de.imi.mopat.dao.BundleDao;
import de.imi.mopat.dao.ConditionDao;
Expand Down Expand Up @@ -157,7 +158,8 @@ public String editBundle(@RequestParam final String action,

bundleService.saveOrUpdateBundle(bundleDTO);

return "redirect:/bundle/list";
String defaultSaveRoute= "redirect:/bundle/list";
return SaveAndEditNextInOrderUtil.determineNextRoute("bundle", action, defaultSaveRoute);
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.imi.mopat.controller;

import de.imi.mopat.controller.util.SaveAndEditNextInOrderUtil;
import de.imi.mopat.dao.BundleDao;
import de.imi.mopat.dao.ClinicConfigurationDao;
import de.imi.mopat.dao.ClinicConfigurationMappingDao;
Expand Down Expand Up @@ -432,7 +433,8 @@ public String editClinic(@RequestParam final String action,
}
clinicDao.updateUserRights(clinic, deletedBundles, clinicDTO.getAssignedUserDTOs());

return "redirect:/clinic/list";
String defaultSaveRoute = "redirect:/clinic/list";
return SaveAndEditNextInOrderUtil.determineNextRoute("clinic", action, defaultSaveRoute);
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.imi.mopat.controller;

import de.imi.mopat.controller.util.SaveAndEditNextInOrderUtil;
import de.imi.mopat.dao.*;
import de.imi.mopat.helper.controller.Constants;
import de.imi.mopat.helper.controller.LocaleHelper;
Expand Down Expand Up @@ -367,7 +368,8 @@ public String editQuestion(@RequestParam final String action,
// not part
// of the URL
model.asMap().clear();
return "redirect:/question/list?id=" + question.getQuestionnaire().getId();
String defaultSaveRoute = "redirect:/question/list?id=" + question.getQuestionnaire().getId();
return SaveAndEditNextInOrderUtil.determineNextRoute("question", action, defaultSaveRoute);
}

private void setImagePathForImageQuestion(QuestionDTO questionDTO, Question question) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package de.imi.mopat.controller.util;

import java.util.Map;

/*
* Util for rerouting to the next workflow element if the save and edit XY button is clicked.
*/
public class SaveAndEditNextInOrderUtil {

private static final Map<String, String> order = Map.of(
"questionnaire", "question",
"question", "bundle",
"bundle", "clinic",
"clinic", "encounter");

public static String determineNextRoute(String current, String action, String defaultRoute) {
if ("saveAndEdit".equals(action)) {
String nextInOrder = order.get(current);
return "redirect:/" + nextInOrder + "/list";
}
return defaultRoute;
}
}
3 changes: 3 additions & 0 deletions src/main/resources/message/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ bundle.button.lock=Block
bundle.button.publish=Release
bundle.button.testExport=Test assigned exports
bundle.button.remove=Remove
bundle.button.saveAndEdit=Save and edit clinic
bundle.error.deleteNotPossible=Bundle {0} cannot be deleted because there has already been one survey using this bundle.
bundle.error.deletePossible=Bundle {0} was deleted.
bundle.error.firstQuestionnaireNotActive=The first questionnaire of this bundle has to be active.
Expand Down Expand Up @@ -195,6 +196,7 @@ button.selectAll=Select all
clinic.button.add=Add clinic
clinic.button.edit=Edit
clinic.button.remove=Remove
clinic.button.saveAndEdit=Save and edit encounter
clinic.error.nameContainsSpecialCharacters=The name you entered contains invalid characters. Only letters, numbers and the special characters !?+-_.:()[] are allowed.
clinic.error.nameInUse=The chosen name is already in use. Please choose a different one.
clinic.error.nameIsEmpty=The name shouldn't only consist of space characters.
Expand Down Expand Up @@ -714,6 +716,7 @@ question.button.deleteAnswer=Delete answer
question.button.dublicateAppend=Duplicate and Append
question.button.edit=Edit
question.button.remove=Remove
question.button.saveAndEdit=Save and edit bundle
question.error.codedValueDuplicate=The indentificationcode must be unique
question.error.codedValueEmpty=The identificationcode must not be empty
question.error.codedValueTypeMissing=Type of Indentificationcodes missing
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/message/messages_de_DE.properties
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ bundle.button.lock=Sperren
bundle.button.publish=Freigeben
bundle.button.testExport=Zugewiesene Exporte testen
bundle.button.remove=L\u00f6schen
bundle.button.saveAndEdit=Speichern und Kliniken bearbeiten
bundle.error.deleteNotPossible=Das Fragebogenpaket {0} kann nicht gel\u00f6scht werden, da mindestens eine Befragung mit diesem Fragebogenpaket durchgef\u00fchrt wurde.
bundle.error.deletePossible=Das Fragebogenpaket {0} wurde gel\u00f6scht.
bundle.error.firstQuestionnaireNotActive=Der erste Fragebogen dieses Pakets muss aktiviert sein.
Expand Down Expand Up @@ -196,6 +197,7 @@ button.selectAll=Alle ausw\u00e4hlen
clinic.button.add=Klinik hinzuf\u00fcgen
clinic.button.edit=Bearbeiten
clinic.button.remove=L\u00f6schen
clinic.button.saveAndEdit=Speichern und Befragungen durchf\u00fchren
clinic.error.nameContainsSpecialCharacters=Der von Ihnen eingegebene Name enth\u00e4lt ung\u00fcltige Sonderzeichen. Es d\u00fcrfen nur Buchstaben, Zahlen, sowie die Sonderzeichen !?+-_.:()[] verwendet werden.
clinic.error.nameInUse=Eine Klinik mit dem gew\u00e4hlten Namen existiert bereits. Bitte w\u00e4hlen Sie einen anderen Namen.
clinic.error.nameIsEmpty=Der Name darf nicht nur aus Leerzeichen bestehen.
Expand Down Expand Up @@ -716,6 +718,7 @@ question.button.deleteAnswer=Antwort l\u00f6schen
question.button.dublicateAppend=Duplizieren und anf\u00fcgen
question.button.edit=Editieren
question.button.remove=L\u00f6schen
question.button.saveAndEdit=Speichern und Fragebogenpakete bearbeiten
question.error.codedValueDuplicate=Der Indentifikationscode muss einzigartig sein
question.error.codedValueEmpty=Der Identifikationscode darf nicht leer sein
question.error.codedValueTypeMissing=Es muss ein Typ des Identifikationscodes ausgew\u00e4hlt werden.
Expand Down
Loading
Loading