From 1f3ba70196930097d9292e46c66b0d9d390be5a1 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Mon, 19 Nov 2018 12:15:35 +0100 Subject: [PATCH] OO-3741: set end of default time for access rule at the end of the day --- .../components/form/flexible/elements/DateChooser.java | 7 +++++++ .../form/flexible/impl/elements/JSDateChooser.java | 10 ++++++++++ .../flexible/impl/elements/JSDateChooserComponent.java | 4 ++++ .../flexible/impl/elements/JSDateChooserRenderer.java | 7 ++++++- .../condition/ConditionConfigEasyController.java | 1 + 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java index 84fe5a43b50..602c5266a59 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/DateChooser.java @@ -73,5 +73,12 @@ public interface DateChooser extends TextElement { * @param dateChooser A date chooser */ public void setDefaultValue(DateChooser dateChooser); + + /** + * This will set the default time to 23:59 instead of 00:00 + * + * @param endOfDay + */ + public void setDefaultTimeAtEndOfDay(boolean endOfDay); } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java index b45c6b30f2d..c1a164c98d2 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooser.java @@ -61,6 +61,7 @@ public class JSDateChooser extends TextElementImpl implements DateChooser { private Locale locale; private boolean dateChooserTimeEnabled; + private boolean defaultTimeAtEndOfDay; private String forValidDateErrorKey; private boolean checkForValidDate; private int minute; @@ -238,6 +239,15 @@ public class JSDateChooser extends TextElementImpl implements DateChooser { this.dateChooserTimeEnabled = dateChooserTimeEnabled; } + public boolean isDefaultTimeAtEndOfDay() { + return defaultTimeAtEndOfDay; + } + + @Override + public void setDefaultTimeAtEndOfDay(boolean defaultTimeAtEndOfDay) { + this.defaultTimeAtEndOfDay = defaultTimeAtEndOfDay; + } + /* (non-Javadoc) * @see org.olat.core.gui.components.form.flexible.impl.elements.DateChooser#getDateChooserDateFormat() */ diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java index 43e4b1ca86d..54a0fbe79a1 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java @@ -93,6 +93,10 @@ class JSDateChooserComponent extends FormBaseComponentImpl { public boolean isDateChooserTimeEnabled() { return element.isDateChooserTimeEnabled(); } + + public boolean isDefaultTimeAtEndOfDay() { + return element.isDefaultTimeAtEndOfDay(); + } public Translator getElementTranslator() { return element.getTranslator(); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java index 8f6539b8378..b9e2f8282b9 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserRenderer.java @@ -132,7 +132,12 @@ class JSDateChooserRenderer extends DefaultComponentRenderer { int hour, minute; Date currentDate = jsdcc.getDate(); if(currentDate == null) { - hour = minute = 0; + if(jsdcc.isDefaultTimeAtEndOfDay()) { + hour = 23; + minute = 59; + } else { + hour = minute = 0; + } } else { Calendar cal = Calendar.getInstance(); cal.setTime(currentDate); diff --git a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java index 5182125d613..af8fe2f7509 100644 --- a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java +++ b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java @@ -1180,6 +1180,7 @@ public class ConditionConfigEasyController extends FormBasicController implement toDate.setExampleKey("form.easy.example.edate", null); toDate.setDateChooserTimeEnabled(true); toDate.setDisplaySize(toDate.getExampleDateString().length()); + toDate.setDefaultTimeAtEndOfDay(true); dateSubContainer.add(toDate); dateSwitch = uifactory.addCheckboxesHorizontal("dateSwitch", null, formLayout, new String[] { "ison" }, new String[] { translate("form.easy.dateSwitch") }); -- GitLab