From b0d932b22bc056cd028f32e3bb21a67a0cad305d Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Wed, 27 Jan 2021 17:02:32 +0100 Subject: [PATCH] OO-5253: Display done participations before resetting survey --- .../course/nodes/survey/SurveyManager.java | 5 +- .../survey/manager/SurveyManagerImpl.java | 5 +- ...urveyDeleteDataConfirmationController.java | 11 ++-- .../nodes/survey/ui/SurveyRunController.java | 6 ++- .../ui/_content/delete_data_confirmation.html | 2 +- .../ui/_i18n/LocalStrings_de.properties | 2 +- .../ui/_i18n/LocalStrings_en.properties | 2 +- .../ui/_i18n/LocalStrings_fr.properties | 53 +++++++++---------- .../ui/_i18n/LocalStrings_it.properties | 11 ++-- .../ui/_i18n/LocalStrings_pt_BR.properties | 39 +++++++------- .../modules/forms/EvaluationFormManager.java | 2 - .../modules/forms/SessionFilterFactory.java | 4 ++ .../manager/EvaluationFormManagerImpl.java | 5 -- .../manager/EvaluationFormSessionDAO.java | 14 ----- .../manager/EvaluationFormSessionDAOTest.java | 17 ------ 15 files changed, 74 insertions(+), 104 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/survey/SurveyManager.java b/src/main/java/org/olat/course/nodes/survey/SurveyManager.java index ff6660e0534..14de2bcbad1 100644 --- a/src/main/java/org/olat/course/nodes/survey/SurveyManager.java +++ b/src/main/java/org/olat/course/nodes/survey/SurveyManager.java @@ -30,6 +30,7 @@ import org.olat.modules.forms.EvaluationFormParticipation; import org.olat.modules.forms.EvaluationFormSession; import org.olat.modules.forms.EvaluationFormSurvey; import org.olat.modules.forms.EvaluationFormSurveyIdentifier; +import org.olat.modules.forms.SessionFilter; import org.olat.modules.forms.model.xml.Form; import org.olat.repository.RepositoryEntry; @@ -69,8 +70,8 @@ public interface SurveyManager { public void onExecutionFinished(SurveyCourseNode courseNode, UserCourseEnvironment userCourseEnv); - public long getCountOfSessions(EvaluationFormSurvey survey); - + public Long getSessionsCount(SessionFilter filter); + public void deleteAllData(EvaluationFormSurvey survey, SurveyCourseNode courseNode, UserCourseEnvironment userCourseEnv); } diff --git a/src/main/java/org/olat/course/nodes/survey/manager/SurveyManagerImpl.java b/src/main/java/org/olat/course/nodes/survey/manager/SurveyManagerImpl.java index 645000326f7..fe79d2fd4b7 100644 --- a/src/main/java/org/olat/course/nodes/survey/manager/SurveyManagerImpl.java +++ b/src/main/java/org/olat/course/nodes/survey/manager/SurveyManagerImpl.java @@ -43,6 +43,7 @@ import org.olat.modules.forms.EvaluationFormParticipationIdentifier; import org.olat.modules.forms.EvaluationFormSession; import org.olat.modules.forms.EvaluationFormSurvey; import org.olat.modules.forms.EvaluationFormSurveyIdentifier; +import org.olat.modules.forms.SessionFilter; import org.olat.modules.forms.model.xml.Form; import org.olat.repository.RepositoryEntry; import org.springframework.beans.factory.annotation.Autowired; @@ -176,8 +177,8 @@ public class SurveyManagerImpl implements SurveyManager { } @Override - public long getCountOfSessions(EvaluationFormSurvey survey) { - return evaluationFormManager.getCountOfSessions(survey); + public Long getSessionsCount(SessionFilter filter) { + return evaluationFormManager.loadSessionsCount(filter); } @Override diff --git a/src/main/java/org/olat/course/nodes/survey/ui/SurveyDeleteDataConfirmationController.java b/src/main/java/org/olat/course/nodes/survey/ui/SurveyDeleteDataConfirmationController.java index d2dff8ce746..557a58cd01f 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/SurveyDeleteDataConfirmationController.java +++ b/src/main/java/org/olat/course/nodes/survey/ui/SurveyDeleteDataConfirmationController.java @@ -40,11 +40,13 @@ public class SurveyDeleteDataConfirmationController extends FormBasicController private MultipleSelectionElement confirmationEl; - private final long numberOfSessions; + private final Long allSessions; + private final Long doneSessions; - public SurveyDeleteDataConfirmationController(UserRequest ureq, WindowControl wControl, long numberOfSessions) { + public SurveyDeleteDataConfirmationController(UserRequest ureq, WindowControl wControl, Long allSessions, Long doneSessions) { super(ureq, wControl, "delete_data_confirmation"); - this.numberOfSessions = numberOfSessions; + this.allSessions = allSessions; + this.doneSessions = doneSessions; initForm(ureq); } @@ -54,7 +56,8 @@ public class SurveyDeleteDataConfirmationController extends FormBasicController formLayout.add("confirm", confirmCont); confirmCont.setRootForm(mainForm); - flc.contextPut("numSessions", String.valueOf(numberOfSessions)); + String message = translate("run.command.delete.data.all.message", new String[] {String.valueOf(allSessions), String.valueOf(doneSessions)} ); + flc.contextPut("message", message); String[] conformationValues = new String[] { translate("run.command.delete.data.all.check") }; confirmationEl = uifactory.addCheckboxesHorizontal("confirm.delete", "", confirmCont, confirmationKeys, conformationValues); diff --git a/src/main/java/org/olat/course/nodes/survey/ui/SurveyRunController.java b/src/main/java/org/olat/course/nodes/survey/ui/SurveyRunController.java index 4b3efbce6ae..4c6b667705b 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/SurveyRunController.java +++ b/src/main/java/org/olat/course/nodes/survey/ui/SurveyRunController.java @@ -42,6 +42,7 @@ import org.olat.modules.forms.EvaluationFormParticipation; import org.olat.modules.forms.EvaluationFormSession; import org.olat.modules.forms.EvaluationFormSurvey; import org.olat.modules.forms.EvaluationFormSurveyIdentifier; +import org.olat.modules.forms.SessionFilterFactory; import org.olat.modules.forms.ui.EvaluationFormExecutionController; import org.olat.modules.forms.ui.ProgressEvent; import org.olat.repository.RepositoryEntry; @@ -180,8 +181,9 @@ public class SurveyRunController extends BasicController { } private void doConfirmDeleteAllData(UserRequest ureq) { - long countOfSessions = surveyManager.getCountOfSessions(survey); - deleteDataConfirmationCtrl = new SurveyDeleteDataConfirmationController(ureq, getWindowControl(), countOfSessions); + Long allSessions = surveyManager.getSessionsCount(SessionFilterFactory.create(survey)); + Long doneSessions = surveyManager.getSessionsCount(SessionFilterFactory.createSelectDone(survey)); + deleteDataConfirmationCtrl = new SurveyDeleteDataConfirmationController(ureq, getWindowControl(), allSessions, doneSessions); listenTo(deleteDataConfirmationCtrl); cmc = new CloseableModalController(getWindowControl(), translate("close"), deleteDataConfirmationCtrl.getInitialComponent(), true, translate("run.command.delete.data.all.title"), true); diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_content/delete_data_confirmation.html b/src/main/java/org/olat/course/nodes/survey/ui/_content/delete_data_confirmation.html index 124c56a8b3a..47f00550397 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_content/delete_data_confirmation.html +++ b/src/main/java/org/olat/course/nodes/survey/ui/_content/delete_data_confirmation.html @@ -1,4 +1,4 @@ <div class="o_error"> - $r.translate("run.command.delete.data.all.message", $numSessions) + $message </div> $r.render("confirm") \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_de.properties index 56d4753a81a..965a3461de6 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_de.properties @@ -31,7 +31,7 @@ run.command.delete.data.all=Umfrage zur\u00fcksetzen run.command.delete.data.all.confirmation.error=Best\u00e4tigen Sie bitte das L\u00f6schen. run.command.delete.data.all.button=L\u00f6schen run.command.delete.data.all.check=Alle Antworten l\u00f6schen -run.command.delete.data.all.message=Wollen Sie wirklich alle Antworten l\u00f6schen? Es haben bereits {0} Benutzer/innen an dieser Umfrage teilgenommen. Die Antworten k\u00f6nnen nicht wieder hergestellt werden! +run.command.delete.data.all.message=Wollen Sie wirklich alle Antworten l\u00f6schen? Die Umfrage wurde bereits von {0} Benutzer/innen gestartet und von {1} Benutzer/innen abgeschlossen. Die Antworten k\u00f6nnen nicht wieder hergestellt werden! run.command.delete.data.all.title=Alle Antworten l\u00f6schen run.participation.done.message=Sie haben den Fragebogen bereits ausgef\u00fcllt. Vielen Dank f\u00fcr Ihre Teilnahme. run.participation.done.title=Fragebogen ausgef\u00fcllt diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_en.properties index 56e0442448c..61967e710cf 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_en.properties @@ -31,7 +31,7 @@ run.command.delete.data.all=Reset survey run.command.delete.data.all.confirmation.error=Please confirm the deletion of the responses. run.command.delete.data.all.button=Delete run.command.delete.data.all.check=Delete all responses -run.command.delete.data.all.message=Do you really want to delete all responses. Already {0} users participated in this survey. It is not possible to restore the responses. +run.command.delete.data.all.message=Do you really want to delete all responses. The survey has already been started by {0} users and completed by {1} users. It is not possible to restore the responses. run.command.delete.data.all.title=Delete all responses run.participation.done.message=You have already finished this survey. Thank you for your participation. run.participation.done.title=Survey finished diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_fr.properties index ee9f8a53adc..da6b9f47a86 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_fr.properties @@ -1,45 +1,44 @@ #Thu Oct 08 13:56:14 CEST 2020 -condition.accessibility.title=Acc\u00E8s +condition.accessibility.title=Acc\u00e8s course.node.link.text=Questionnaire -edit.choose=Choisir, cr\u00E9er ou importer +edit.choose=Choisir, cr\u00e9er ou importer edit.choose.evaluation.form=Choisir un questionnaire edit.edit=Editer edit.evaluation.form=Questionnaire edit.evaluation.form.link={0} -edit.evaluation.form.not.choosen=Pas de questionnaire s\u00E9lectionner +edit.evaluation.form.not.choosen=Pas de questionnaire s\u00e9lectionner edit.execution=Participation par edit.execution.by.coach=Coaches -edit.execution.by.guest=Invit\u00E9s -edit.execution.by.owner=Propri\u00E9taires +edit.execution.by.guest=Invit\u00e9s +edit.execution.by.owner=Propri\u00e9taires edit.execution.by.participant=Participants -edit.preview=Aper\u00E7u +edit.preview=Aper\u00e7u edit.replace=Remplacer -edit.report=R\u00E9sultats visible pour +edit.report=R\u00e9sultats visible pour edit.report.for.coach=Coaches -edit.report.for.guest=Invit\u00E9s -edit.report.for.owner=Propri\u00E9taires +edit.report.for.guest=Invit\u00e9s +edit.report.for.owner=Propri\u00e9taires edit.report.for.participant=Participants edit.title=Questionnaire -error.repo.entry.missing=Le questionnaire que vous voulez afficher \u00E0 \u00E9t\u00E9 effac\u00E9 entre-temps des ressources didactiques. -error.repo.entry.not.replaceable=Le questionnaire ne peut plus \u00EAtre remplac\u00E9. -error.repo.no.key.long=Pour "{0}", vous devez s\u00E9lectionner un questionnaire dans le tab "Questionnaire" dans la section configuration. -error.repo.no.key.short=Pas de questionnaire s\u00E9lectionn\u00E9. +error.repo.entry.missing=Le questionnaire que vous voulez afficher \u00e0 \u00e9t\u00e9 effac\u00e9 entre-temps des ressources didactiques. +error.repo.entry.not.replaceable=Le questionnaire ne peut plus \u00eatre remplac\u00e9. +error.repo.no.key.long=Pour "{0}", vous devez s\u00e9lectionner un questionnaire dans le tab "Questionnaire" dans la section configuration. +error.repo.no.key.short=Pas de questionnaire s\u00e9lectionn\u00e9. figure.course=Cours -figure.course.node=\u00C9lement de cours +figure.course.node=\u00c9lement de cours fully.assessed.trigger.status.done=Questionnaire soumis -pane.tab.accessibility=Acc\u00E8s +pane.tab.accessibility=Acc\u00e8s pane.tab.config=Questionnaire -report.noaccess=Vous n'avez pas acc\u00E8s aux statistiques de ce questionnaire. Soit vous n'avez pas les autorisations requises, soit vous n'avez pas termin\u00E9 de remplir le questionnaire. -run.command.delete.data.all=R\u00E9initialiser le questionnaire +report.noaccess=Vous n'avez pas acc\u00e8s aux statistiques de ce questionnaire. Soit vous n'avez pas les autorisations requises, soit vous n'avez pas termin\u00e9 de remplir le questionnaire. +run.command.delete.data.all=R\u00e9initialiser le questionnaire run.command.delete.data.all.button=Effacer -run.command.delete.data.all.check=Effacer toutes les r\u00E9ponses -run.command.delete.data.all.confirmation.error=Veuillez confirmer l'effacement de toutes les r\u00E9ponses. -run.command.delete.data.all.message=Voulez-vous vraiment effacer toutes les r\u00E9ponses de ce questionnaire? {0} utilisateurs l'ont d\u00E9j\u00E0 rempli. Il ne sera pas possible de restaurer les r\u00E9ponses effac\u00E9es. -run.command.delete.data.all.title=Effacer toutes les r\u00E9ponses -run.no.survey.message=Le questionnaire n'est pas pr\u00EAt \u00E0 \u00EAtre utilis\u00E9. -run.no.survey.title=Le questionnaire n'est pas pr\u00EAt. +run.command.delete.data.all.check=Effacer toutes les r\u00e9ponses +run.command.delete.data.all.confirmation.error=Veuillez confirmer l'effacement de toutes les r\u00e9ponses. +run.command.delete.data.all.title=Effacer toutes les r\u00e9ponses +run.no.survey.message=Le questionnaire n'est pas pr\u00eat \u00e0 \u00eatre utilis\u00e9. +run.no.survey.title=Le questionnaire n'est pas pr\u00eat. run.noaccess.message=Cette partie du cours ne vous est pas accessible. -run.noaccess.title=Acc\u00E8s refus\u00E9 -run.participation.done.message=Vous avez d\u00E9j\u00E0 rempli ce questionnaire. Merci de votre participation. -run.participation.done.title=Questionnaire termin\u00E9 -run.reset=R\u00E9initialiser +run.noaccess.title=Acc\u00e8s refus\u00e9 +run.participation.done.message=Vous avez d\u00e9j\u00e0 rempli ce questionnaire. Merci de votre participation. +run.participation.done.title=Questionnaire termin\u00e9 +run.reset=R\u00e9initialiser diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_it.properties index b45b426ceb8..1e2bb64785e 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_it.properties @@ -19,8 +19,8 @@ edit.report.for.guest=Ospiti edit.report.for.owner=Proprietari edit.report.for.participant=Partecipanti edit.title=Indagine -error.repo.entry.missing=Questa indagine \u00E8 stata nel frattempo cancellata all'interno della cartella di memorizzazione delle risorse di apprendimento. -error.repo.entry.not.replaceable=Il questionario non pu\u00F2 pi\u00F9 essere sostituito. +error.repo.entry.missing=Questa indagine \u00e8 stata nel frattempo cancellata all'interno della cartella di memorizzazione delle risorse di apprendimento. +error.repo.entry.not.replaceable=Il questionario non pu\u00f2 pi\u00f9 essere sostituito. error.repo.no.key.long=Per "{0}" devi selezionare un questionario nella scheda " Indagine" all'interno della sezione di configurazione. error.repo.no.key.short=Nessun questionario scelto. fully.assessed.trigger.status.done=Indagine terminata @@ -30,12 +30,11 @@ run.command.delete.data.all=Resettare indagine run.command.delete.data.all.button=Cancellare run.command.delete.data.all.check=Cancellare tutte le risposte run.command.delete.data.all.confirmation.error=Si prega di confermare la cancellazione delle risposte. -run.command.delete.data.all.message=Vuole davvero cancellare tutte le risposte? Gi\u00E0 {0} utenti hanno partecipato a questa indagine. Non \u00E8 possibile ripristinare le risposte. run.command.delete.data.all.title=Cancellare tutte le risposte -run.no.survey.message=Questa indagine non \u00E8 disponibile per la partecipazione. +run.no.survey.message=Questa indagine non \u00e8 disponibile per la partecipazione. run.no.survey.title=Indagine non pronta -run.noaccess.message=Questa parte del corso non \u00E8 accessibile per lei. +run.noaccess.message=Questa parte del corso non \u00e8 accessibile per lei. run.noaccess.title=Nessuno accesso -run.participation.done.message=Lei ha gi\u00E0 terminato questo sondaggio. Grazie per la sua partecipazione. +run.participation.done.message=Lei ha gi\u00e0 terminato questo sondaggio. Grazie per la sua partecipazione. run.participation.done.title=Indagine terminata run.reset=Resettare diff --git a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_pt_BR.properties index dedcf67ac3c..c50631bab21 100644 --- a/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/survey/ui/_i18n/LocalStrings_pt_BR.properties @@ -1,43 +1,42 @@ #Fri Sep 25 19:50:24 CEST 2020 course.node.link.text=Pesquisa edit.choose=Escolha, crie ou importe -edit.choose.evaluation.form=Escolha o question\u00E1rio +edit.choose.evaluation.form=Escolha o question\u00e1rio edit.edit=Editar -edit.evaluation.form=Question\u00E1rio +edit.evaluation.form=Question\u00e1rio edit.evaluation.form.link={0} -edit.evaluation.form.not.choosen=Nenhum question\u00E1rio escolhido -edit.execution=Participa\u00E7\u00E3o por +edit.evaluation.form.not.choosen=Nenhum question\u00e1rio escolhido +edit.execution=Participa\u00e7\u00e3o por edit.execution.by.coach=Treinadores edit.execution.by.guest=Convidados -edit.execution.by.owner=Propriet\u00E1rios +edit.execution.by.owner=Propriet\u00e1rios edit.execution.by.participant=Participantes edit.preview=Visualizar edit.replace=Substituir -edit.report=Resultados vis\u00EDveis para +edit.report=Resultados vis\u00edveis para edit.report.for.coach=Treinadores edit.report.for.guest=Convidados -edit.report.for.owner=Propriet\u00E1rios +edit.report.for.owner=Propriet\u00e1rios edit.report.for.participant=Participantes edit.title=Pesquisa -error.repo.entry.missing=Esta pesquisa foi apagada enquanto isso dentro da pasta de armazenamento de recursos did\u00E1ticos. -error.repo.entry.not.replaceable=O question\u00E1rio n\u00E3o pode mais ser substitu\u00EDdo. -error.repo.no.key.long=Para "{0}" voc\u00EA tem que selecionar um question\u00E1rio na aba "Pesquisa" dentro da se\u00E7\u00E3o de configura\u00E7\u00E3o. -error.repo.no.key.short=Nenhum question\u00E1rio escolhido. +error.repo.entry.missing=Esta pesquisa foi apagada enquanto isso dentro da pasta de armazenamento de recursos did\u00e1ticos. +error.repo.entry.not.replaceable=O question\u00e1rio n\u00e3o pode mais ser substitu\u00eddo. +error.repo.no.key.long=Para "{0}" voc\u00ea tem que selecionar um question\u00e1rio na aba "Pesquisa" dentro da se\u00e7\u00e3o de configura\u00e7\u00e3o. +error.repo.no.key.short=Nenhum question\u00e1rio escolhido. figure.course=Curso figure.course.node=Elemento do Curso -fully.assessed.trigger.status.done=Pesquisa conclu\u00EDda +fully.assessed.trigger.status.done=Pesquisa conclu\u00edda pane.tab.config=Pesquisa -report.noaccess=Voc\u00EA n\u00E3o tem acesso \u00E0s estat\u00EDsticas desta pesquisa. Voc\u00EA n\u00E3o tem os direitos necess\u00E1rios ou n\u00E3o terminou sua participa\u00E7\u00E3o. +report.noaccess=Voc\u00ea n\u00e3o tem acesso \u00e0s estat\u00edsticas desta pesquisa. Voc\u00ea n\u00e3o tem os direitos necess\u00e1rios ou n\u00e3o terminou sua participa\u00e7\u00e3o. run.command.delete.data.all=Redefinir pesquisa run.command.delete.data.all.button=Excluir run.command.delete.data.all.check=Excluir todas as respostas -run.command.delete.data.all.confirmation.error=Por favor, confirme a exclus\u00E3o das respostas. -run.command.delete.data.all.message=Voc\u00EA realmente deseja excluir todas as respostas? {0} usu\u00E1rios j\u00E1 participaram desta pesquisa. N\u00E3o \u00E9 poss\u00EDvel restaurar as respostas. +run.command.delete.data.all.confirmation.error=Por favor, confirme a exclus\u00e3o das respostas. run.command.delete.data.all.title=Excluir todas as respostas -run.no.survey.message=A pesquisa n\u00E3o est\u00E1 pronta para participar. -run.no.survey.title=Pesquisa n\u00E3o est\u00E1 pronta -run.noaccess.message=Esta parte do curso n\u00E3o est\u00E1 acess\u00EDvel para voc\u00EA. +run.no.survey.message=A pesquisa n\u00e3o est\u00e1 pronta para participar. +run.no.survey.title=Pesquisa n\u00e3o est\u00e1 pronta +run.noaccess.message=Esta parte do curso n\u00e3o est\u00e1 acess\u00edvel para voc\u00ea. run.noaccess.title=Sem acesso -run.participation.done.message=Voc\u00EA j\u00E1 terminou esta pesquisa. Obrigado pela sua participa\u00E7\u00E3o. -run.participation.done.title=Pesquisa conclu\u00EDda +run.participation.done.message=Voc\u00ea j\u00e1 terminou esta pesquisa. Obrigado pela sua participa\u00e7\u00e3o. +run.participation.done.title=Pesquisa conclu\u00edda run.reset=Redefinir diff --git a/src/main/java/org/olat/modules/forms/EvaluationFormManager.java b/src/main/java/org/olat/modules/forms/EvaluationFormManager.java index 7040f636704..bdb7e1a782c 100644 --- a/src/main/java/org/olat/modules/forms/EvaluationFormManager.java +++ b/src/main/java/org/olat/modules/forms/EvaluationFormManager.java @@ -176,8 +176,6 @@ public interface EvaluationFormManager { */ public EvaluationFormSession reopenSession(EvaluationFormSession session); - public long getCountOfSessions(EvaluationFormSurveyRef surveyRef); - public List<EvaluationFormResponse> getResponses(List<String> responseIdentifiers, SessionFilter filter, Limit limit); public EvaluationFormResponse createStringResponse(String responseIdentifier, EvaluationFormSession session, diff --git a/src/main/java/org/olat/modules/forms/SessionFilterFactory.java b/src/main/java/org/olat/modules/forms/SessionFilterFactory.java index f6ae46461c2..ff23376d0a1 100644 --- a/src/main/java/org/olat/modules/forms/SessionFilterFactory.java +++ b/src/main/java/org/olat/modules/forms/SessionFilterFactory.java @@ -51,6 +51,10 @@ public class SessionFilterFactory { EvaluationFormSessionStatus status) { return new SurveysFilter(surveyIdentitfier, status); } + + public static SessionFilter create(EvaluationFormSurveyRef survey) { + return new SurveysFilter(Collections.singletonList(survey)); + } public static SessionFilter createSelectDone(EvaluationFormSurveyRef survey) { return createSelectDone(Collections.singletonList(survey)); diff --git a/src/main/java/org/olat/modules/forms/manager/EvaluationFormManagerImpl.java b/src/main/java/org/olat/modules/forms/manager/EvaluationFormManagerImpl.java index 3b37dc2ab2b..31715c1762b 100644 --- a/src/main/java/org/olat/modules/forms/manager/EvaluationFormManagerImpl.java +++ b/src/main/java/org/olat/modules/forms/manager/EvaluationFormManagerImpl.java @@ -361,11 +361,6 @@ public class EvaluationFormManagerImpl implements EvaluationFormManager { return finishedSesssion; } - @Override - public long getCountOfSessions(EvaluationFormSurveyRef surveyRef) { - return evaluationFormSessionDao.getCountOfSessions(surveyRef); - } - @Override public EvaluationFormResponse createFileResponse(String responseIdentifier, EvaluationFormSession session, File file, String filename) throws IOException { diff --git a/src/main/java/org/olat/modules/forms/manager/EvaluationFormSessionDAO.java b/src/main/java/org/olat/modules/forms/manager/EvaluationFormSessionDAO.java index 68c000b9c50..b237c3aee0a 100644 --- a/src/main/java/org/olat/modules/forms/manager/EvaluationFormSessionDAO.java +++ b/src/main/java/org/olat/modules/forms/manager/EvaluationFormSessionDAO.java @@ -228,20 +228,6 @@ class EvaluationFormSessionDAO { } return session; } - - long getCountOfSessions(EvaluationFormSurveyRef surveyRef) { - if (surveyRef == null) return 0; - - StringBuilder sb = new StringBuilder(); - sb.append("select count(session.key) from evaluationformsession as session"); - sb.append(" where session.survey.key=:surveyKey"); - - List<Long> counts = dbInstance.getCurrentEntityManager() - .createQuery(sb.toString(), Long.class) - .setParameter("surveyKey", surveyRef.getKey()) - .getResultList(); - return counts.get(0); - } void deleteSessions(EvaluationFormSurveyRef surveyRef) { if (surveyRef == null) return; diff --git a/src/test/java/org/olat/modules/forms/manager/EvaluationFormSessionDAOTest.java b/src/test/java/org/olat/modules/forms/manager/EvaluationFormSessionDAOTest.java index 10a1f5ecfe0..9843df6dd34 100644 --- a/src/test/java/org/olat/modules/forms/manager/EvaluationFormSessionDAOTest.java +++ b/src/test/java/org/olat/modules/forms/manager/EvaluationFormSessionDAOTest.java @@ -234,23 +234,6 @@ public class EvaluationFormSessionDAOTest extends OlatTestCase { assertThat(hasSessions).isFalse(); } - @Test - public void shouldGetCountOfSessionsForSurvey() { - EvaluationFormSurvey survey = evaTestHelper.createSurvey(); - dbInstance.commit(); - - long countOfSessions = sut.getCountOfSessions(survey); - assertThat(countOfSessions).isEqualTo(0); - - evaTestHelper.createSession(survey); - evaTestHelper.createSession(survey); - dbInstance.commit(); - - countOfSessions = sut.getCountOfSessions(survey); - assertThat(countOfSessions).isEqualTo(2); - - } - @Test public void shouldDeleteSessionsOfSurvey() { EvaluationFormSurvey survey = evaTestHelper.createSurvey(); -- GitLab