From 4a9f4c607b056fa4f7267396fd913c0341150238 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 4 Jun 2015 11:08:36 +0200 Subject: [PATCH] OO-1494: apply attempts rule to survey course element too, wording --- src/main/java/org/olat/admin/user/imp/_content/step1.html | 5 ++++- .../olat/admin/user/imp/_i18n/LocalStrings_de.properties | 1 + .../olat/admin/user/imp/_i18n/LocalStrings_en.properties | 1 + src/main/java/org/olat/course/nodes/IQSELFCourseNode.java | 5 +++++ src/main/java/org/olat/course/nodes/QTICourseNode.java | 8 ++++++++ .../org/olat/course/reminder/rule/AttemptsRuleSPI.java | 7 +++---- .../org/olat/course/reminder/ui/AttemptsRuleEditor.java | 6 ++++++ 7 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/admin/user/imp/_content/step1.html b/src/main/java/org/olat/admin/user/imp/_content/step1.html index 7054233a149..5ce3a98512e 100644 --- a/src/main/java/org/olat/admin/user/imp/_content/step1.html +++ b/src/main/java/org/olat/admin/user/imp/_content/step1.html @@ -4,9 +4,12 @@ #else $r.translate("step1.nonewusers") #end +#if($r.visible("update.password")) + <br/><br/>$r.translate("step1.passwordEmails") +#end #if($r.visible("update.user")) - <br/><br/>$r.render("update.user") + <br/><br/>$r.render("update.user") #end #if($r.visible("update.password")) #if(!$r.visible("update.user")) diff --git a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties index 90b46a6566d..1ec4ecb6106 100644 --- a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties @@ -36,6 +36,7 @@ step0.description=Datenbeispiele und Daten einf\u00FCgen step0.short.descr=User importieren. step1.description=Vorschau der Benutzerdaten step1.nonewusers=Die Tabelle enth\u00E4lt keine neuen Benutzer. Sie k\u00F6nnen keine Benutzer importieren. +step1.passwordEmails=Achtung: bei Passwort\u00E4nderungen f\u00FCr existierende Benutzer wird un abh\u00E4ngig von ihren Einstellungen eine E-Mail-Benachrichtigung verschickt. step1.short.descr=Vorschau step2.description=Gruppe(n) auswählen step3.description=E-Mail-Benachrichtigung diff --git a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties index c53eca5f144..a3f2f926895 100644 --- a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties @@ -36,6 +36,7 @@ step0.description=View examples and insert data step0.short.descr=Import user step1.description=Preview of user data step1.nonewusers=There are no new users in this table. You will not be able to import new users. +step1.passwordEmails=When updating passwords of already existing users, an e-mail notification will be send regardless of your e-mail preferences. step1.short.descr=Preview step2.description=Choose group(s) step3.description=E-Mail notification diff --git a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java index 43d0921d474..3095ee1d26e 100644 --- a/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java +++ b/src/main/java/org/olat/course/nodes/IQSELFCourseNode.java @@ -191,6 +191,11 @@ public class IQSELFCourseNode extends AbstractAccessableCourseNode implements Se public boolean needsReferenceToARepositoryEntry() { return true; } + + @Override + public boolean hasAttemptsConfigured() { + return false; + } /** * @see org.olat.course.nodes.CourseNode#informOnDelete(org.olat.core.gui.UserRequest, diff --git a/src/main/java/org/olat/course/nodes/QTICourseNode.java b/src/main/java/org/olat/course/nodes/QTICourseNode.java index 5cab88d2332..993aad34e01 100644 --- a/src/main/java/org/olat/course/nodes/QTICourseNode.java +++ b/src/main/java/org/olat/course/nodes/QTICourseNode.java @@ -19,6 +19,14 @@ */ package org.olat.course.nodes; +/** + * + * Initial date: 04.06.2015<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ public interface QTICourseNode extends CourseNode { + + public boolean hasAttemptsConfigured(); } diff --git a/src/main/java/org/olat/course/reminder/rule/AttemptsRuleSPI.java b/src/main/java/org/olat/course/reminder/rule/AttemptsRuleSPI.java index bc7d744c91d..d204cc5d8fd 100644 --- a/src/main/java/org/olat/course/reminder/rule/AttemptsRuleSPI.java +++ b/src/main/java/org/olat/course/reminder/rule/AttemptsRuleSPI.java @@ -88,10 +88,9 @@ public class AttemptsRuleSPI implements FilterRuleSPI { Identity identity = identityIt.next(); Integer attempt = attempts.get(identity.getKey()); if(attempt == null) { - if(!operator.equals("!=")) {//always different - identityIt.remove(); - } - } else if(!evaluateAttempt(attempt.intValue(), operator, value)) { + attempt = 0; + } + if(!evaluateAttempt(attempt.intValue(), operator, value)) { identityIt.remove(); } } diff --git a/src/main/java/org/olat/course/reminder/ui/AttemptsRuleEditor.java b/src/main/java/org/olat/course/reminder/ui/AttemptsRuleEditor.java index afcbbdc33a4..d21c51e6513 100644 --- a/src/main/java/org/olat/course/reminder/ui/AttemptsRuleEditor.java +++ b/src/main/java/org/olat/course/reminder/ui/AttemptsRuleEditor.java @@ -36,6 +36,7 @@ import org.olat.course.CourseFactory; import org.olat.course.ICourse; import org.olat.course.nodes.AssessableCourseNode; import org.olat.course.nodes.CourseNode; +import org.olat.course.nodes.QTICourseNode; import org.olat.course.reminder.rule.AttemptsRuleSPI; import org.olat.modules.reminder.ReminderRule; import org.olat.modules.reminder.RuleEditorFragment; @@ -146,6 +147,11 @@ public class AttemptsRuleEditor extends RuleEditorFragment { if (assessableCourseNode.hasAttemptsConfigured()) { nodes.add(courseNode); } + } else if (courseNode instanceof QTICourseNode) { + QTICourseNode assessableCourseNode = (QTICourseNode) courseNode; + if (assessableCourseNode.hasAttemptsConfigured()) { + nodes.add(courseNode); + } } for(int i=0; i<courseNode.getChildCount(); i++) { -- GitLab