Index: samigo-app/src/java/org/sakaiproject/tool/assessment/jsf/renderer/DatePickerWidgetRenderer.java =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/jsf/renderer/DatePickerWidgetRenderer.java (revision 0) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/jsf/renderer/DatePickerWidgetRenderer.java (revision 10258) @@ -0,0 +1,361 @@ +/********************************************************************************** + * $URL: https://source.sakaiproject.org/svn/sam/branches/samigo-2.9.x/samigo-app/src/java/org/sakaiproject/tool/assessment/jsf/renderer/DatePickerWidgetRenderer.java $ + * $Id: DatePickerRenderer.java 59684 2009-04-03 23:33:27Z arwhyte@umich.edu $ + *********************************************************************************** + * + * Copyright (c) 2004, 2005, 2006, 2007, 2008 The Sakai Foundation + * + * Licensed under the Educational Community License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.osedu.org/licenses/ECL-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + **********************************************************************************/ + + + + +package org.sakaiproject.tool.assessment.jsf.renderer; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.text.SimpleDateFormat; +import java.text.DateFormat; +import java.util.*; + +import javax.faces.component.UIComponent; +import javax.faces.component.UIInput; +import javax.faces.component.UIViewRoot; +import javax.faces.component.ValueHolder; +import javax.faces.context.FacesContext; +import javax.faces.context.ResponseWriter; +import javax.faces.render.Renderer; +import org.sakaiproject.util.ResourceLoader; + +import org.sakaiproject.tool.assessment.jsf.renderer.util.RendererUtil; +import org.sakaiproject.tool.assessment.ui.listener.util.ContextUtil; + +import org.sakaiproject.component.api.ServerConfigurationService; +import org.sakaiproject.component.cover.ComponentManager; + +import org.sakaiproject.tool.assessment.ui.listener.util.TimeUtil; +import java.text.SimpleDateFormat; + +import org.sakaiproject.tool.assessment.ui.bean.author.AssessmentBean; +import org.sakaiproject.tool.assessment.ui.bean.author.AssessmentSettingsBean; +/** + *
Description:
+ *Render the custom color picker control.
+ *Copyright: Copyright (c) 2004
+ *Organization: Sakai Project
+ * @author Ed Smiley + * @version $id: $ + */ + +public class DatePickerWidgetRenderer extends Renderer +{ + // icon height and width + private static final String HEIGHT = "16"; + private static final String WIDTH = "16"; + private static final String CURSORSTYLE = "cursor:pointer;"; + + //All supported locales + private ListFaces render output method .
+ *Method Generator: org.sakaiproject.tool.assessment.devtoolsRenderMaker
+ * + * @param contextFacesContext
for the current request
+ * @param component UIComponent
being rendered
+ *
+ * @throws IOException if an input/output error occurs
+ */
+ public void encodeEnd(FacesContext context,
+ UIComponent component) throws IOException
+ {
+// System.out.println("************ DATE PICKET WIDGET RENDERER **************");
+
+
+ ResourceLoader rb= new ResourceLoader("org.sakaiproject.tool.assessment.bundle.AssessmentSettingsMessages");
+ ResponseWriter writer = context.getResponseWriter();
+ String contextPath = context.getExternalContext()
+ .getRequestContextPath();
+
+ String jsfId = (String) component.getAttributes().get("id");
+ String id = jsfId;
+
+ if (component.getId() != null &&
+ !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
+ {
+ id = component.getClientId(context);
+ }
+
+ Object value = null;
+ if (component instanceof UIInput)
+ {
+ value = ( (UIInput) component).getSubmittedValue();
+ }
+ if (value == null && component instanceof ValueHolder)
+ {
+ value = ( (ValueHolder) component).getValue();
+ }
+ String valString = "";
+ if (value != null)
+ {
+ valString = value.toString();
+ }
+
+ String type = "text";
+ String size = (String) component.getAttributes().get("size");
+ if (size == null)
+ {
+ size = "20";
+
+ // script creates unique calendar object with input object
+ }
+
+ String display_dateFormat= ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec");
+
+ /*
+ // Get all supported locales
+ Locale[] localesArray;
+ try{
+ org.sakaiproject.component.api.ServerConfigurationService scs = (org.sakaiproject.component.api.ServerConfigurationService) ComponentManager.get(org.sakaiproject.component.api.ServerConfigurationService.class);
+ localesArray = scs.getSakaiLocales();
+ // for (int i = 0; i < sl.length; i++) {
+ // locales.add(sl[i].toString()); // Locale toString should generate en_GB type identifiers
+ // }
+ //
+ // Add default locale
+ // locales.add(DEFAULT_LOCALE);
+ }
+ catch (Exception ex) { System.out.println(ex);}
+*/
+ long lDateTimeMS = 0;
+ if(!valString.equalsIgnoreCase("")) // see if a date has been passed in
+ {
+ // convert to server format
+ String dateStringRoot = "";
+ Date fmtDateObj = new Date();
+ try {
+ java.util.Locale loc = new ResourceLoader().getLocale();
+ String currentLocale = loc.toString();
+ SimpleDateFormat displayFormatLoc = new SimpleDateFormat(display_dateFormat,loc);
+
+ SimpleDateFormat simpleDateFormatRoot =
+ new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", java.util.Locale.ROOT);
+
+ fmtDateObj = displayFormatLoc.parse(valString);
+ dateStringRoot = simpleDateFormatRoot.format(fmtDateObj);
+ }
+ catch (Exception ex) {
+ //log.warn("Unable to format date.");
+ System.out.println("DatePickerWidgetRendereer: Unable to format date\n" + ex);
+ dateStringRoot = valString;
+ }
+
+
+ lDateTimeMS = 0;
+
+ try {
+ lDateTimeMS = fmtDateObj.getTime();
+ }
+ catch (Exception pe) { System.out.println(pe);}
+
+ } // end of logic for when val has been initialed with a date
+
+
+ //for jquery to work with jsf, need to format the id e.g. assessmentSettingsAction\\:endDateWidget instead of assessmentSettingsAction:endDateWidget
+ String formattedIdForJquery = "";
+ int idx = id.indexOf(':');
+ if (idx > -1)
+ {
+ String backslashes = "\\\\";
+ formattedIdForJquery = id.substring(0,idx) + backslashes + id.substring(idx, id.length());
+ }
+ java.util.Locale loc = new ResourceLoader().getLocale();
+ String currentLocale = loc.toString();
+
+
+ String datePickerSuffix = "";
+ String dateTimePickerSuffix = "";
+
+ for(int i = 0 ; i < il8nArray.length ; i++){
+ String[] locale = (String[]) il8nArray[i];
+ if( currentLocale.equalsIgnoreCase(locale[0]) )
+ {
+ datePickerSuffix = locale[1];
+ dateTimePickerSuffix = locale[2];
+ // System.out.println("Found: " + locale[0] + " | " + locale[1] + " | " + locale[2] );
+ break;
+ }
+ }
+
+
+ String dateLocaleScript = "";
+ if(!datePickerSuffix.equalsIgnoreCase("-") )
+ {
+ dateLocaleScript = "\n\n";
+ writer.write(dateLocaleScript);
+ }
+
+
+ String timeLocaleScript = "";
+ if(!dateTimePickerSuffix.equalsIgnoreCase("-") )
+ {
+ timeLocaleScript = "\n\n";
+ //timeLocaleScript = "\n+ *
Description:
+ * This class is the tag handler custom for color picker control
Based on example code by Sun Microsystems.
+ *Copyright: Copyright (c) 2004
+ *Organization: Sakai Project
+ * @author Ed Smiley + * @version $Id: DatePickerTag.java 59684 2009-04-03 23:33:27Z arwhyte@umich.edu $ + */ + +public class DatePickerWidgetTag extends UIComponentTag +{ + //private TagUtil util; + + private String size; + private String value; + + /** + * set size + * @param size + */ + public void setSize(String size) + { + this.size = size; + } + + /** + * set the value + * @param value + */ + public void setValue(String value) + { + this.value = value; + } + + /** + * get component type + * @return component type + */ + public String getComponentType() + { + return ("javax.faces.Input"); + } + + public String getRendererType() + { + return "DatePickerWidget"; + } + + /** + * Set the properties. + * @param component + */ + protected void setProperties(UIComponent component) + { + + super.setProperties(component); + + //FacesContext context = getFacesContext(); + TagUtil.setString(component, "value", value); + TagUtil.setString(component, "size", size); + } + + /** + * + * @return the value + */ + public String getValue() { + return value; + } + +} Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_es.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_es.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_es.properties (revision 10258) @@ -1,13 +1,13 @@ assessment=Ex\u00E1menes -invalid_due_date=La fecha introducida para la fecha de entrega no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/aaaa hh\:mm\:ss AM/PM. -invalid_feedback_date=La fecha introducida para la Fecha l\u00EDmite no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/aaaa hh\:mm\:ss AM/PM. -invalid_retrack_date=La fecha introducida para fecha tope de entrega no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/aaaa hh\:mm\:ss AM/PM. -invalid_start_date=La fecha introducida para la Fecha de disponibilidad no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/aaaa hh\:mm\:ss AM/PM. +invalid_due_date=La fecha introducida para la fecha de entrega no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/yyyy hh\:mm\:ss AM/PM. +invalid_feedback_date=La fecha introducida para la Fecha l\u00EDmite no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/yyyy hh\:mm\:ss AM/PM. +invalid_retrack_date=La fecha introducida para fecha tope de entrega no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/yyyy hh\:mm\:ss AM/PM. +invalid_start_date=La fecha introducida para la Fecha de disponibilidad no es v\u00E1lida. Aseg\u00FArese que ha introducido una fecha v\u00E1lida en el formato dd/mm/yyyy hh\:mm\:ss AM/PM. output_data_picker_w_sec=dd/MM/yyyy hh\:mm\:ss a output_date=dd-MMM-yyyy HH\:mm\:ss output_dateWoTime=dd-MMM-yyyy -output_date_no_sec=dd-MMM-yyyy HH\:mm +output_date_no_sec=dd-MMM-yyyy HH\:mm\:ss output_date_picker=dd/MM/yyyy questionPool=Bater\u00EDas de preguntas remove_media=Borrar Media Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_TW.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_TW.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_TW.properties (revision 10258) @@ -14,21 +14,21 @@ # See the License for the specific language governing permissions and # limitations under the License. # -output_date = yyyy-MMM-dd hh\:mm\:ss aaa -output_date_no_sec = yyyy-MMM-dd hh\:mm aaa -output_dateWoTime = yyyy-MMM-dd -output_date_picker = MM/dd/yyyy -output_data_picker_w_sec = MM/dd/yyyy hh\:mm a -remove_media = \u522a\u9664\u5a92\u9ad4 -select_menu = \u9078\u53d6 +output_data_picker_w_sec=yyyy-MM-dd hh:mm:ss a +output_date=yyyy-MMM-dd hh:mm:ss a +output_dateWoTime=yyyy-MMM-dd +output_date_no_sec=yyyy-MM-dd hh:mm:ss a +output_date_picker=yyyy-MMM-dd +remove_media = \u522A\u9664\u5A92\u9AD4 +select_menu = \u9078\u53D6 separator = | -assessment = \u8a55\u4f30 -template = \u8a55\u4f30\u985e\u578b -questionPool = \u554f\u984c\u96c6\u5340 -t_assessment = \u8f49\u81f3\u64b0\u5beb\u9801\u9762 -t_template = \u8f49\u81f3\u8a55\u4f30\u985e\u578b\u9801\u9762 -t_questionPool = \u8f49\u81f3\u554f\u984c\u96c6\u5340\u9801\u9762 -invalid_start_date = \u60a8\u5728\u53ef\u7528\u65e5\u671f\u8f38\u5165\u7684\u65e5\u671f\u662f\u7121\u6548\u7684\u3002\u8acb\u78ba\u5b9a\u60a8\u8f38\u5165\u73fe\u6709\u65e5\u671f\u683c\u5f0f\uff0c\u5982 mm/dd/yyyy hh\:mm\:ss AM/PM\u3002 -invalid_due_date = \u60a8\u5728\u622a\u6b62\u65e5\u671f\u8f38\u5165\u7684\u65e5\u671f\u662f\u7121\u6548\u7684\u3002\u8acb\u78ba\u5b9a\u60a8\u8f38\u5165\u73fe\u6709\u65e5\u671f\u683c\u5f0f\uff0c\u5982 mm/dd/yyyy hh\:mm\:ss AM/PM\u3002 -invalid_retrack_date = \u60a8\u5728\u64a4\u92b7\u65e5\u671f\u8f38\u5165\u7684\u65e5\u671f\u662f\u7121\u6548\u7684\u3002\u8acb\u78ba\u5b9a\u60a8\u8f38\u5165\u73fe\u6709\u65e5\u671f\u683c\u5f0f\uff0c\u5982 mm/dd/yyyy hh\:mm\:ss AM/PM\u3002 -invalid_feedback_date = \u60a8\u5728\u53ef\u7528\u56de\u994b\u65e5\u671f\u8f38\u5165\u7684\u65e5\u671f\u662f\u7121\u6548\u7684\u3002\u8acb\u78ba\u5b9a\u60a8\u8f38\u5165\u73fe\u6709\u65e5\u671f\u683c\u5f0f\uff0c\u5982 mm/dd/yyyy hh\:mm\:ss AM/PM\u3002 +assessment = \u8A55\u4F30 +template = \u8A55\u4F30\u985E\u578B +questionPool = \u554F\u984C\u96C6\u5340 +t_assessment = \u8F49\u81F3\u64B0\u5BEB\u9801\u9762 +t_template = \u8F49\u81F3\u8A55\u4F30\u985E\u578B\u9801\u9762 +t_questionPool = \u8F49\u81F3\u554F\u984C\u96C6\u5340\u9801\u9762 +invalid_start_date = \u60A8\u5728\u53EF\u7528\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_due_date = \u60A8\u5728\u622A\u6B62\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_retrack_date = \u60A8\u5728\u64A4\u92B7\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_feedback_date = \u60A8\u5728\u53EF\u7528\u56DE\u994B\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_CN.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_CN.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_zh_CN.properties (revision 10258) @@ -1,15 +1,15 @@ #Stored by I18NEdit, may be edited! assessment=\u6D4B\u9A8C -invalid_due_date=\u586B\u5199\u7684\u622A\u6B62\u65E5\u671F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u786E\u8BA4\u586B\u5165\u7684\u662F\u6709\u6548\u65E5\u671F\uFF0C\u683C\u5F0F\uFF1A\u6708/\u65E5/\u5E74 \u65F6/\u5206/\u79D2 \u4E0A\u5348/\u4E0B\u5348 -invalid_feedback_date=\u586B\u5199\u7684\u53CD\u9988\u65E5\u671F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u786E\u8BA4\u586B\u5165\u7684\u662F\u6709\u6548\u65E5\u671F\uFF0C\u683C\u5F0F\uFF1A\u6708/\u65E5/\u5E74 \u65F6/\u5206/\u79D2 \u4E0A\u5348/\u4E0B\u5348 -invalid_retrack_date=\u586B\u5199\u7684\u64A4\u9500\u65E5\u671F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u786E\u8BA4\u586B\u5165\u7684\u662F\u6709\u6548\u65E5\u671F\uFF0C\u683C\u5F0F\uFF1A\u6708/\u65E5/\u5E74 \u65F6/\u5206/\u79D2 \u4E0A\u5348/\u4E0B\u5348 -invalid_start_date=\u586B\u5199\u7684\u53EF\u7528\u65E5\u671F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u786E\u8BA4\u586B\u5165\u7684\u662F\u6709\u6548\u65E5\u671F\uFF0C\u683C\u5F0F\uFF1A\u6708/\u65E5/\u5E74 \u65F6/\u5206/\u79D2 \u4E0A\u5348/\u4E0B\u5348 -output_data_picker_w_sec=MM/dd/yyyy hh\:mm\:ss a -output_date=yyyy-MMM-dd hh\:mm\:ss aaa -output_dateWoTime=yyyy-MMM-dd -output_date_no_sec=yyyy-MMM-dd hh\:mm aaa -output_date_picker=MM/dd/yyyy +invalid_start_date = \u60A8\u5728\u53EF\u7528\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_due_date = \u60A8\u5728\u622A\u6B62\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_retrack_date = \u60A8\u5728\u64A4\u92B7\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +invalid_feedback_date = \u60A8\u5728\u53EF\u7528\u56DE\u994B\u65E5\u671F\u8F38\u5165\u7684\u65E5\u671F\u662F\u7121\u6548\u7684\u3002\u8ACB\u78BA\u5B9A\u60A8\u8F38\u5165\u73FE\u6709\u65E5\u671F\u683C\u5F0F\uFF0C\u5982 yyyy-MMM-dd hh\:mm\:ss AM/PM\u3002 +output_data_picker_w_sec=yyyy-MM-dd hh:mm:ss a +output_date=yyyy-MM-dd hh\:mm\:ss aaa +output_dateWoTime=yyyy-MM-dd +output_date_no_sec=yyyy-MM-dd hh:mm:ss a +output_date_picker=yyyy-MM-dd questionPool=\u9898\u5E93 remove_media=\u79FB\u9664\u5A92\u4F53 select_menu=\u9009\u62E9 Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_pt_PT.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_pt_PT.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_pt_PT.properties (revision 10258) @@ -1,15 +1,15 @@ #Stored by I18NEdit, may be edited! assessment=Testes -invalid_due_date=A dtaa introduzida como data limite n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato mm/dd/yyyy hh\:mm\:ss AM/PM. -invalid_feedback_date=A data introduzida como data para disponibiliza\u00E7\u00E3o de coment\u00E1rios n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato mm/dd/yyyy hh\:mm\:ss AM/PM. -invalid_retrack_date=A data introduzida como data de retirada n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato mm/dd/yyyy hh\:mm\:ss AM/PM. -invalid_start_date=A data introduzida como data de disponibiliza\u00E7\u00E3o n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato mm/dd/yyyy hh\:mm\:ss AM/PM. -output_data_picker_w_sec=MM/dd/yyyy hh\:mm\:ss a -output_date=yyyy-MMM-dd hh\:mm\:ss aaa -output_dateWoTime=yyyy-MMM-dd -output_date_no_sec=yyyy-MMM-dd hh\:mm aaa -output_date_picker=MM/dd/yyyy +invalid_due_date=A dtaa introduzida como data limite n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_feedback_date=A data introduzida como data para disponibiliza\u00E7\u00E3o de coment\u00E1rios n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_retrack_date=A data introduzida como data de retirada n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_start_date=A data introduzida como data de disponibiliza\u00E7\u00E3o n\u00E3o \u00E9 v\u00E1lida. Por favor, assegure que a data introduzida se encontra no formato dd/MM/yyyy hh\:mm\:ss AM/PM. +output_data_picker_w_sec=dd/MM/yyyy hh:mm:ss a +output_date=dd/MM/yyyy hh:mm:ss a +output_dateWoTime=dd/MM/yyyy +output_date_no_sec=dd/MM/yyyy hh:mm:ss a +output_date_picker=dd/MM/yyyy questionPool=Lista de quest\u00F5es remove_media=Eliminar meio select_menu=seleccionar Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_en_NZ.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_en_NZ.properties (revision 0) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_en_NZ.properties (revision 10258) @@ -0,0 +1,6 @@ +# output date format for all tools +output_date=yyyy-MMM-dd hh:mm:ss aaa +output_date_no_sec=yyyy-MMM-dd hh:mm aaa +output_dateWoTime=yyyy-MMM-dd +output_date_picker=yyyy/MM/dd +output_data_picker_w_sec=dd/MM/yyyy hh:mm:ss a Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ru.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ru.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ru.properties (revision 10258) @@ -18,31 +18,31 @@ #Smolny College of Liberal Arts and Sciences, St Petersburg State University # output date format for all tools -output_date=yyyy-MMM-dd hh\:mm\:ss aaa -output_date_no_sec=yyyy-MMM-dd hh\:mm\:ss aaa -output_dateWoTime=yyyy-MMM-dd -output_date_picker=dd/MM/yyyy -output_data_picker_w_sec=dd/MM/yyyy hh\:mm\:ss a +output_date=dd.MM.yyyy hh:mm:ss a +output_date_no_sec=dd.MM.yyyy hh:mm:ss a +output_dateWoTime=dd.MM.yyyy +output_date_picker=dd.MM.yyyy +output_data_picker_w_sec=dd.MM.yyyy hh:mm:ss a # for removing media -remove_media=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b -select_menu=\u0432\u044b\u0431\u0440\u0430\u0442\u044c +remove_media=\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043C\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043B +select_menu=\u0432\u044B\u0431\u0440\u0430\u0442\u044C # signs for all tools separator=| -assessment=\u0422\u0435\u0441\u0442\u044b -template=\u0422\u0438\u043f\u044b \u0442\u0435\u0441\u0442\u043e\u0432 -questionPool=\u0424\u043e\u043d\u0434\u044b \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 +assessment=\u0422\u0435\u0441\u0442\u044B +template=\u0422\u0438\u043F\u044B \u0442\u0435\u0441\u0442\u043E\u0432 +questionPool=\u0424\u043E\u043D\u0434\u044B \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 # Accessibility Stuff(t_: title in command link) -t_assessment=\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f -t_template=\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0442\u0438\u043f\u043e\u0432 \u0442\u0435\u0441\u0442\u043e\u0432 -t_questionPool=\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0444\u043e\u043d\u0434\u0430\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 +t_assessment=\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F +t_template=\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0442\u0438\u043F\u043E\u0432 \u0442\u0435\u0441\u0442\u043E\u0432 +t_questionPool=\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0444\u043E\u043D\u0434\u0430\u043C \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 # Error message for the date input field that uses date picker # Please sync the date format of follow error message with # output_data_picker_w_sec in above output date format -invalid_start_date=\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0434/\u043c\u043c/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043c\u043c\:\u0441\u0441 AM/PM. -invalid_due_date=\u0414\u0430\u0442\u0430 \u043e\u043a\u043e\u043d\u0441\u0430\u043d\u0438\u044f \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0434/\u043c\u043c/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043c\u043c\:\u0441\u0441 AM/PM. -invalid_retrack_date=\u0414\u0430\u0442\u0430 \u0438\u0437\u044a\u044f\u0442\u0438\u044f \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0434/\u043c\u043c/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043c\u043c\:\u0441\u0441 AM/PM. -invalid_feedback_date=\u0414\u0430\u0442\u0430 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0437\u044b\u0432\u0430 \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0434\u0434/\u043c\u043c/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043c\u043c\:\u0441\u0441 AM/PM. +invalid_start_date=\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u0432\u0435\u0434\u0435\u043D\u0430 \u0432 \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0443\u043A\u0430\u0437\u0430\u043B\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0434\u0434/\u043C\u043C/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043C\u043C\:\u0441\u0441 AM/PM. +invalid_due_date=\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0441\u0430\u043D\u0438\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u0430 \u0432 \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0443\u043A\u0430\u0437\u0430\u043B\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0434\u0434/\u043C\u043C/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043C\u043C\:\u0441\u0441 AM/PM. +invalid_retrack_date=\u0414\u0430\u0442\u0430 \u0438\u0437\u044A\u044F\u0442\u0438\u044F \u0432\u0432\u0435\u0434\u0435\u043D\u0430 \u0432 \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0443\u043A\u0430\u0437\u0430\u043B\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0434\u0434/\u043C\u043C/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043C\u043C\:\u0441\u0441 AM/PM. +invalid_feedback_date=\u0414\u0430\u0442\u0430 \u043F\u0440\u0435\u0434\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u044F \u043E\u0442\u0437\u044B\u0432\u0430 \u0432\u0432\u0435\u0434\u0435\u043D\u0430 \u0432 \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0432\u044B \u0443\u043A\u0430\u0437\u0430\u043B\u0438 \u0434\u0430\u0442\u0443 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 \u0434\u0434/\u043C\u043C/\u0433\u0433\u0433\u0433 \u0447\u0447\:\u043C\u043C\:\u0441\u0441 AM/PM. Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ar.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ar.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ar.properties (revision 10258) @@ -18,15 +18,15 @@ assessment = \u062A\u0642\u064A\u064A\u0645\u0627\u062A -output_data_picker_w_sec = MM/dd/yyyy hh:mm:ss a +output_data_picker_w_sec = dd/MM/yyyy hh:mm:ss a -output_date = yyyy-MMM-dd hh:mm:ss aaa +output_date = dd/MM/yyyy hh:mm:ss aaa -output_dateWoTime = yyyy-MMM-dd +output_dateWoTime = dd/MM/yyyy -output_date_no_sec = yyyy-MMM-dd hh:mm aaa +output_date_no_sec = dd/MM/yyyy hh:mm aaa -output_date_picker = MM/dd/yyyy +output_date_picker = dd/MM/yyyy questionPool = \u0645\u062E\u0632\u0646 \u0627\u0644\u0623\u0633\u0626\u0644\u0629 @@ -43,8 +43,8 @@ t_template = \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0635\u0641\u062D\u0629 \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u062A\u0642\u064A\u064A\u0645\u0627\u062A template = \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u062A\u0642\u064A\u064A\u0645\u0627\u062A -invalid_due_date=\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u0623\u062f\u062e\u0644\u062a\u0647 \u0644\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0645\u0633\u062a\u062d\u0642 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u062f \u0627\u0646\u0643 \u0627\u062f\u062e\u0644\u062a \u062a\u0627\u0631\u064a\u062e \u0645\u062a\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064a\u063a\u0629 mm/dd/yyyy hh:mm:ss AM/PM. -invalid_feedback_date=\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u0623\u062f\u062e\u0644\u062a\u0647 \u0644\u062a\u0627\u0631\u064a\u062e \u062a\u0648\u0627\u0641\u0631 \u0627\u0644\u062a\u063a\u0630\u064a\u0629 \u0627\u0644\u0631\u0627\u062c\u0639\u0629 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u062f \u0627\u0646\u0643 \u0627\u062f\u062e\u0644\u062a \u062a\u0627\u0631\u064a\u062e \u0645\u062a\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064a\u063a\u0629 mm/dd/yyyy hh:mm:ss AM/PM. -invalid_retrack_date=\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u0623\u062f\u062e\u0644\u062a\u0647 \u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u062f \u0627\u0646\u0643 \u0627\u062f\u062e\u0644\u062a \u062a\u0627\u0631\u064a\u062e \u0645\u062a\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064a\u063a\u0629 mm/dd/yyyy hh:mm:ss AM/PM. -invalid_start_date=\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u0623\u062f\u062e\u0644\u062a\u0647 \u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0645\u062a\u0627\u062d \u063a\u064a\u0631 \u0635\u062d\u064a\u062d. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u062f \u0627\u0646\u0643 \u0627\u062f\u062e\u0644\u062a \u062a\u0627\u0631\u064a\u062e \u0645\u062a\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064a\u063a\u0629 mm/dd/yyyy hh:mm:ss AM/PM. -button_debug=\u062c\u0644\u0633\u0629 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621 +invalid_due_date=\u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0630\u064A \u0623\u062F\u062E\u0644\u062A\u0647 \u0644\u0644\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0645\u0633\u062A\u062D\u0642 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D. \u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u062A\u0623\u0643\u062F \u0627\u0646\u0643 \u0627\u062F\u062E\u0644\u062A \u062A\u0627\u0631\u064A\u062E \u0645\u062A\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064A\u063A\u0629 dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_feedback_date=\u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0630\u064A \u0623\u062F\u062E\u0644\u062A\u0647 \u0644\u062A\u0627\u0631\u064A\u062E \u062A\u0648\u0627\u0641\u0631 \u0627\u0644\u062A\u063A\u0630\u064A\u0629 \u0627\u0644\u0631\u0627\u062C\u0639\u0629 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D. \u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u062A\u0623\u0643\u062F \u0627\u0646\u0643 \u0627\u062F\u062E\u0644\u062A \u062A\u0627\u0631\u064A\u062E \u0645\u062A\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064A\u063A\u0629 dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_retrack_date=\u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0630\u064A \u0623\u062F\u062E\u0644\u062A\u0647 \u0644\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u062A\u0631\u0627\u062C\u0639 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D. \u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u062A\u0623\u0643\u062F \u0627\u0646\u0643 \u0627\u062F\u062E\u0644\u062A \u062A\u0627\u0631\u064A\u062E \u0645\u062A\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064A\u063A\u0629 dd/MM/yyyy hh\:mm\:ss AM/PM. +invalid_start_date=\u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0630\u064A \u0623\u062F\u062E\u0644\u062A\u0647 \u0627\u0644\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0645\u062A\u0627\u062D \u063A\u064A\u0631 \u0635\u062D\u064A\u062D. \u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u062A\u0623\u0643\u062F \u0627\u0646\u0643 \u0627\u062F\u062E\u0644\u062A \u062A\u0627\u0631\u064A\u062E \u0645\u062A\u0648\u0641\u0631 \u0628\u0627\u0644\u0635\u064A\u063A\u0629 dd/MM/yyyy hh\:mm\:ss AM/PM. +button_debug=\u062C\u0644\u0633\u0629 \u062A\u0635\u062D\u064A\u062D \u0627\u0644\u0623\u062E\u0637\u0627\u0621 Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ja.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ja.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_ja.properties (revision 10258) @@ -2,8 +2,8 @@ output_date=yyyy-MMM-dd hh:mm:ss aaa output_date_no_sec=yyyy-MMM-dd hh:mm aaa output_dateWoTime=yyyy-MMM-dd -output_date_picker=MM/dd/yyyy -output_data_picker_w_sec=MM/dd/yyyy hh:mm:ss a +output_date_picker=yyyy-MMM-dd +output_data_picker_w_sec=yyyy/MM/dd hh:mm:ss a # #output_date=yyyy\u5e74MM\u6708dd\u65e5ahh\u6642mm\u5206ss\u79d2 #output_date_no_sec=yyyy\u5e74MM\u6708dd\u65e5ahh\u6642mm\u5206 @@ -12,27 +12,27 @@ #output_data_picker_w_sec=yyyy\u5e74MM\u6708dd\u65e5ahh\u6642mm\u5206ss\u79d2 # for removing media -remove_media=\u30e1\u30c7\u30a3\u30a2\u3092\u53d6\u308a\u51fa\u3059 -select_menu=\u9078\u629e +remove_media=\u30E1\u30C7\u30A3\u30A2\u3092\u53D6\u308A\u51FA\u3059 +select_menu=\u9078\u629E # signs for all tools separator=| -assessment=\u30c6\u30b9\u30c8 -template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 -questionPool=\u554f\u984c\u30d7\u30fc\u30eb +assessment=\u30C6\u30B9\u30C8 +template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8 +questionPool=\u554F\u984C\u30D7\u30FC\u30EB # Accessibility Stuff(t_: title in command link) -t_assessment=\u30aa\u30fc\u30b5\u30ea\u30f3\u30b0\u30da\u30fc\u30b8\u3078 -t_template=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30da\u30fc\u30b8\u3078 -t_questionPool=\u554f\u984c\u30d7\u30fc\u30eb\u30da\u30fc\u30b8\u3078 +t_assessment=\u30AA\u30FC\u30B5\u30EA\u30F3\u30B0\u30DA\u30FC\u30B8\u3078 +t_template=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u30DA\u30FC\u30B8\u3078 +t_questionPool=\u554F\u984C\u30D7\u30FC\u30EB\u30DA\u30FC\u30B8\u3078 # Error message for the date input field that uses date picker # Please sync the date format of follow error message with # output_data_picker_w_sec in above output date format -invalid_start_date=\u300c\u5229\u7528\u53ef\u80fd\u65e5\u6642\u300d\u306b\u5165\u529b\u3055\u308c\u305f\u65e5\u6642\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0eyyyy/mm/dd hh:mm:ss AM/PM \u5f62\u5f0f\u3067\u65e5\u6642\u3092\u5165\u529b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e -invalid_due_date=\u300c\u7de0\u5207\u65e5\u6642\u300d\u306b\u5165\u529b\u3055\u308c\u305f\u65e5\u6642\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0eyyyy/mm/dd hh:mm:ss AM/PM \u5f62\u5f0f\u3067\u65e5\u6642\u3092\u5165\u529b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e -invalid_retrack_date=\u300c\u30a2\u30af\u30bb\u30b9\u505c\u6b62\u65e5\u6642\u300d\u306b\u5165\u529b\u3055\u308c\u305f\u65e5\u6642\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0eyyyy/mm/dd hh:mm:ss AM/PM \u5f62\u5f0f\u3067\u65e5\u6642\u3092\u5165\u529b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e -invalid_feedback_date=\u300c\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u5229\u7528\u53ef\u80fd\u65e5\u6642\u300d\u306b\u5165\u529b\u3055\u308c\u305f\u65e5\u6642\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0eyyyy/mm/dd hh:mm:ss AM/PM \u5f62\u5f0f\u3067\u65e5\u6642\u3092\u5165\u529b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e -choose_one_group=\u8b66\u544a: \u5c11\u306a\u304f\u3068\u3082\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u3064\u9078\u3076\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff0e +invalid_start_date=\u300C\u5229\u7528\u53EF\u80FD\u65E5\u6642\u300D\u306B\u5165\u529B\u3055\u308C\u305F\u65E5\u6642\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\uFF0Eyyyy/mm/dd hh\:mm\:ss AM/PM \u5F62\u5F0F\u3067\u65E5\u6642\u3092\u5165\u529B\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF0E +invalid_due_date=\u300C\u7DE0\u5207\u65E5\u6642\u300D\u306B\u5165\u529B\u3055\u308C\u305F\u65E5\u6642\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\uFF0Eyyyy/mm/dd hh\:mm\:ss AM/PM \u5F62\u5F0F\u3067\u65E5\u6642\u3092\u5165\u529B\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF0E +invalid_retrack_date=\u300C\u30A2\u30AF\u30BB\u30B9\u505C\u6B62\u65E5\u6642\u300D\u306B\u5165\u529B\u3055\u308C\u305F\u65E5\u6642\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\uFF0Eyyyy/mm/dd hh\:mm\:ss AM/PM \u5F62\u5F0F\u3067\u65E5\u6642\u3092\u5165\u529B\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF0E +invalid_feedback_date=\u300C\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u5229\u7528\u53EF\u80FD\u65E5\u6642\u300D\u306B\u5165\u529B\u3055\u308C\u305F\u65E5\u6642\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\uFF0Eyyyy/mm/dd hh\:mm\:ss AM/PM \u5F62\u5F0F\u3067\u65E5\u6642\u3092\u5165\u529B\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF0E +choose_one_group=\u8B66\u544A\: \u5C11\u306A\u304F\u3068\u3082\u30B0\u30EB\u30FC\u30D7\u3092\u4E00\u3064\u9078\u3076\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\uFF0E kb=KB Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_eu.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_eu.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_eu.properties (revision 10258) @@ -15,11 +15,11 @@ # # output date format for all tools -output_data_picker_w_sec=dd/MM/yyyy hh\:mm\:ss a -output_date=dd-MMM-yyyy HH\:mm\:ss -output_dateWoTime=dd-MMM-yyyy -output_date_no_sec=dd-MMM-yyyy HH\:mm -output_date_picker=dd/MM/yyyy +output_data_picker_w_sec=yyyy-MM-dd hh:mm:ss a +output_date=yyyy-MM-dd hh\:mm\:ss aaa +output_dateWoTime=yyyy-MM-dd +output_date_no_sec=yyyy-MM-dd hh:mm:ss a +output_date_picker=yyyy-MM-dd # for removing media remove_media=Kendu medioak Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_vi_VN.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_vi_VN.properties (revision 0) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_vi_VN.properties (revision 10258) @@ -0,0 +1,7 @@ +#Stored by I18NEdit, may be edited! + +output_data_picker_w_sec=dd/MM/yyyy hh:mm:ss a +output_date=dd/MM/yyyy hh:mm:ss a +output_dateWoTime=dd/MM/yyyy +output_date_no_sec=dd/MM/yyyy hh:mm:ss a +output_date_picker=dd/MM/yyyy Property changes on: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_vi_VN.properties ___________________________________________________________________ Added: svn:executable + * Index: samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_tr_TR.properties =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_tr_TR.properties (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/GeneralMessages_tr_TR.properties (revision 10258) @@ -1,19 +1,19 @@ -assessment=De\u011ferlendirmeler -choose_one_group=Uyar\u0131: En az bir grup seçmeniz gerekli. -choose_release_to=Lütfen de\u011ferlendirmeyi kimlerin yapabilece\u011fini seçin. +assessment=De\u011Ferlendirmeler +choose_one_group=Uyar\u0131\: En az bir grup se\u00E7meniz gerekli. +choose_release_to=L\u00FCtfen de\u011Ferlendirmeyi kimlerin yapabilece\u011Fini se\u00E7in. friday=Cuma -invalid_due_date=Teslim Tarihi için girdi\u011finiz tarih geçerli de\u011fil. Lütfen mm/dd/yyyy hh:mm:ss AM/PM biçiminde bir zaman giriniz. -invalid_feedback_date=Geribildirimin Yay\u0131nlanaca\u011f\u0131 Tarih için girdi\u011finiz tarih geçerli de\u011fil. Lütfen mm/dd/yyyy hh:mm:ss AM/PM biçiminde bir zaman giriniz. -invalid_retrack_date=Geri Çekme Tarihi için girdi\u011finiz tarih geçerli de\u011fil. Lütfen mm/dd/yyyy hh:mm:ss AM/PM biçiminde bir zaman giriniz. -invalid_start_date=De\u011ferlendirmenin Yap\u0131labilece\u011fi Tarih için girdi\u011finiz veri geçerli de\u011fil. Lütfen mm/dd/yyyy hh:mm:ss AM/PM biçiminde bir zaman giriniz. +invalid_due_date=Teslim Tarihi i\u00E7in girdi\u011Finiz tarih ge\u00E7erli de\u011Fil. L\u00FCtfen dd.MM.yyyy hh\:mm\:ss AM/PM bi\u00E7iminde bir zaman giriniz. +invalid_feedback_date=Geribildirimin Yay\u0131nlanaca\u011F\u0131 Tarih i\u00E7in girdi\u011Finiz tarih ge\u00E7erli de\u011Fil. L\u00FCtfen dd.MM.yyyy hh\:mm\:ss AM/PM bi\u00E7iminde bir zaman giriniz. +invalid_retrack_date=Geri \u00C7ekme Tarihi i\u00E7in girdi\u011Finiz tarih ge\u00E7erli de\u011Fil. L\u00FCtfen dd.MM.yyyy hh\:mm\:ss AM/PM bi\u00E7iminde bir zaman giriniz. +invalid_start_date=De\u011Ferlendirmenin Yap\u0131labilece\u011Fi Tarih i\u00E7in girdi\u011Finiz veri ge\u00E7erli de\u011Fil. L\u00FCtfendd.MM.yyyy hh\:mm\:ss AM/PM bi\u00E7iminde bir zaman giriniz. kb=KB monday=Pazartesi -output_data_picker_w_sec=MM/dd/yyyy hh:mm:ss a -output_date=yyyy-MMM-dd hh:mm:ss aaa -output_dateWoTime=yyyy-MMM-dd -output_date_no_sec=yyyy-MMM-dd hh:mm aaa -output_date_picker=MM/dd/yyyy +output_data_picker_w_sec=dd.MM.yyyy hh:mm:ss a +output_date=dd.MM.yyyy hh:mm:ss a +output_dateWoTime=dd.MM.yyyy +output_date_no_sec=dd.MM.yyyy hh:mm a +output_date_picker=dd.MM.yyyy questionPool=Soru Havuzlar\u0131 remove_media=Ortam\u0131 Sil saturday=Cumartesi @@ -22,8 +22,8 @@ sunday=Pazar t_assessment=Yazar Sayfas\u0131na Git t_questionPool=Soru Havuzu Sayfas\u0131na Git -t_template=De\u011ferlendirme Türü Sayfas\u0131na Git -template=De\u011ferlendirme Türleri -thusday=Per\u015fembe +t_template=De\u011Ferlendirme T\u00FCr\u00FC Sayfas\u0131na Git +template=De\u011Ferlendirme T\u00FCrleri +thusday=Per\u015Fembe tuesday=Sal\u0131 -wednesday=Çar\u015famba +wednesday=\u00C7ar\u015Famba Index: samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/PublishedAssessmentSettingsBean.java =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/PublishedAssessmentSettingsBean.java (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/PublishedAssessmentSettingsBean.java (revision 10258) @@ -38,6 +38,7 @@ import java.util.TreeMap; import java.util.Map; +import javax.faces.application.FacesMessage; import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; import javax.faces.model.SelectItem; @@ -1071,7 +1072,7 @@ * @param dateString "MM-dd-yyyy hh:mm:ss a" * @return Date object */ - private Date getDateFromDisplayFormat(String dateString) { +/* private Date getDateFromDisplayFormat(String dateString) { Date date = null; this.isValidDate = true; if (dateString == null || dateString.trim().equals("")) { @@ -1095,7 +1096,67 @@ return date; } +*/ + + /** + * format according to calendar widget + * Format is defined in the GeneralMessages_'LOCALE'.properties file for that locale + * i.e. dateString should correlate with locale eg. "MM-dd-yyyy hh:mm:ss a" for en_US, or "dd/MM/yyyy hh:mm:ss a" for en_GB + * The content of the jquery datepicker js for a locale must be consistent with the GeneralMessages_'LOCALE'.properties file for that locale + * GeneralMessages_'LOCALE'.properties files are in: /samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/ + * jquery datepicker js is in /samigo-app/src/webapp/jsf/widget/jqueryDatePicker/i18n/ + */ + private Date getDateFromDisplayFormat(String dateString) { + + Date date = null; + if (dateString == null || dateString.trim().equals("")) { + return date; + } + + // these patterns are storedd in property bundles for locales, but are incomplete and inaccurate + if (displayDateFormat == null || displayFormat == null) { + setDisplayFormat(ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec")); + displayDateFormat= ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec"); + } + + Date dateLoc = new Date(); + String currentLocale = "unknown"; + + //String displayDateFormat = ""; + String patternDF = ""; + try { + java.util.Locale loc = new ResourceLoader().getLocale(); + currentLocale = loc.toString(); + SimpleDateFormat displayFormatLoc; + + displayFormatLoc = new SimpleDateFormat(displayDateFormat,loc); + + patternDF = ((SimpleDateFormat)displayFormatLoc).toPattern(); + //System.out.println(" format date for " + dateString + " using pattern: " + patternDF); + + + displayFormatLoc.setLenient(false); + dateLoc = displayFormatLoc.parse(dateString); + //dateStringRoot = simpleDateFormatRoot.format(dateLoc); + date = dateLoc; + } + catch (Exception ex) { + String msg = "Unable to format date for " + dateString + " using " + currentLocale + " date pattern: " + patternDF; + System.out.println(msg); + this.isValidDate = false; + log.warn("Unable to format date."); + FacesContext context=FacesContext.getCurrentInstance(); + context.addMessage(null,new FacesMessage(msg)); + //error=true; + } + // now we can return the validated date object which is used for storing the date in the DB + return date; + + } + + + private boolean dateValidation(String dateString) { int date = 0; int month = 0; Index: samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/AssessmentSettingsBean.java =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/AssessmentSettingsBean.java (revision 10247) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/author/AssessmentSettingsBean.java (revision 10258) @@ -24,6 +24,7 @@ package org.sakaiproject.tool.assessment.ui.bean.author; import java.io.Serializable; +import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -218,6 +219,7 @@ //private static final String DISPLAY_DATEFORMAT = "MM/dd/yyyy hh:mm:ss a"; //private String displayDateFormat= ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec"); //private SimpleDateFormat displayFormat = new SimpleDateFormat(displayDateFormat); + private String displayDateFormat; private SimpleDateFormat displayFormat; @@ -1137,193 +1139,70 @@ return dateString; } + + + /** - * format according to internal requirements of calendar widget - * @param dateString "MM-dd-yyyy hh:mm:ss a" - * @return Date object - */ + * format according to calendar widget + * Format is defined in the GeneralMessages_'LOCALE'.properties file for that locale + * i.e. dateString should correlate with locale eg. "MM-dd-yyyy hh:mm:ss a" for en_US, or "dd/MM/yyyy hh:mm:ss a" for en_GB + * The content of the jquery datepicker js for a locale must be consistent with the GeneralMessages_'LOCALE'.properties file for that locale + * GeneralMessages_'LOCALE'.properties files are in: /samigo-app/src/java/org/sakaiproject/tool/assessment/bundle/ + * jquery datepicker js is in /samigo-app/src/webapp/jsf/widget/jqueryDatePicker/i18n/ + */ private Date getDateFromDisplayFormat(String dateString) { + Date date = null; - this.isValidDate = true; if (dateString == null || dateString.trim().equals("")) { return date; } - + + // these patterns are storedd in property bundles for locales, but are incomplete and inaccurate if (displayDateFormat == null || displayFormat == null) { setDisplayFormat(ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec")); - } + displayDateFormat= ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec"); - //cw-3792 - int nFndAM = dateString.toUpperCase().indexOf("AM"); - int nFndPM = dateString.toUpperCase().indexOf("PM"); - if( nFndAM > -1 || nFndPM > 1) - { - try { - if (!dateValidation(dateString)) { - this.isValidDate = false; - return null; - } + } + + Date dateLoc = new Date(); + String currentLocale = "unknown"; - //Date date= (Date) displayFormat.parse(dateString); - // dateString is in client timezone, change it to server time zone - TimeUtil tu = new TimeUtil(); - date = tu.getServerDateTime(displayFormat, dateString); - } - catch (Exception ex) { - // we will leave it as a null date - log.warn("Unable to format date."); - FacesContext context=FacesContext.getCurrentInstance(); - ResourceLoader rb = new ResourceLoader("org.sakaiproject.tool.assessment.bundle.AuthorMessages"); - String err; - - err=rb.getString("deliveryDate_error"); - context.addMessage(null,new FacesMessage(err)); - - error=true; - //ex.printStackTrace(); - } - } - else - { - //cw-3792 this is needed so that date string will pass the dateValidation method which is hard coded (someone was not thinking) with AM/PM - // All the issues arise out of the js date widget being used (Tigra Calendar) which does not translate am/pm literals for foreign languages - // so using server format passes the am/pm tests, but will fail on dd/mm/yy test. - // so need to use locale for dd/mm/yy validation and server format to pass am/pm literals validation - String dateStringRoot = ""; - try { - java.util.Locale loc = new ResourceLoader().getLocale(); - String currentLocale = loc.toString(); - SimpleDateFormat displayFormatLoc = new SimpleDateFormat(displayDateFormat,loc); - - SimpleDateFormat simpleDateFormatRoot = - new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", java.util.Locale.ROOT); - - Date dateLoc = displayFormatLoc.parse(dateString); - dateStringRoot = simpleDateFormatRoot.format(dateLoc); - } - catch (Exception ex) { - log.warn("Unable to format date."); - System.out.println(ex); - dateStringRoot = dateString; + //String displayDateFormat = ""; + String patternDF = ""; + try { + java.util.Locale loc = new ResourceLoader().getLocale(); + currentLocale = loc.toString(); + SimpleDateFormat displayFormatLoc; + + displayFormatLoc = new SimpleDateFormat(displayDateFormat,loc); + + patternDF = ((SimpleDateFormat)displayFormatLoc).toPattern(); + //System.out.println(" format date for " + dateString + " using pattern: " + patternDF); + + + displayFormatLoc.setLenient(false); + dateLoc = displayFormatLoc.parse(dateString); + //dateStringRoot = simpleDateFormatRoot.format(dateLoc); + date = dateLoc; } - - - // use server format to handle am/pm literals - try { - if (!dateValidation(dateStringRoot)) { - this.isValidDate = false; - //return null; - } - // dateString is in client timezone, change it to server time zone - TimeUtil tu = new TimeUtil(); - date = tu.getServerDateTime(displayFormat, dateString); - } catch (Exception ex) { - // we will leave it as a null date - log.warn("Unable to format date."); - FacesContext context=FacesContext.getCurrentInstance(); - ResourceLoader rb = new ResourceLoader("org.sakaiproject.tool.assessment.bundle.AuthorMessages"); - String err; - - err=rb.getString("deliveryDate_error"); - context.addMessage(null,new FacesMessage(err)); - - error=true; - //ex.printStackTrace(); - } - - - } - + String msg = "Unable to format date for " + dateString + " using " + currentLocale + " date pattern: " + patternDF; + System.out.println(msg); + this.isValidDate = false; + log.warn("Unable to format date."); + FacesContext context=FacesContext.getCurrentInstance(); + context.addMessage(null,new FacesMessage(msg)); + error=true; + } + // now we can return the validated date object which is used for storing the date in the DB return date; + } - private Date getDateFromDisplayFormatHWR(String dateString) { - Date date = null; - this.isValidDate = true; - if (dateString == null || dateString.trim().equals("")) { - return date; - } - if (displayDateFormat == null || displayFormat == null) { - setDisplayFormat(ContextUtil.getLocalizedString("org.sakaiproject.tool.assessment.bundle.GeneralMessages","output_data_picker_w_sec")); - } - - //cw-3792 - // Issues arise out of the js date widget being used (Tigra Calendar) which does not translate am/pm literals for foreign languages - // Using server format passes the am/pm tests, but will fail on dd/mm/yy test. - // So need to use locale for dd/mm/yy validation and server format to pass am/pm literals validation if locale uses foreign characters - String dateStringRoot = ""; - try { - java.util.Locale loc = new ResourceLoader().getLocale(); - String currentLocale = loc.toString(); - System.out.println("current locale = " + currentLocale ); - - SimpleDateFormat displayFormatLoc = new SimpleDateFormat(displayDateFormat,loc); - - SimpleDateFormat simpleDateFormatRoot = - new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", java.util.Locale.ROOT); - - String rootLocale = java.util.Locale.ROOT.toString(); - System.out.println("root locale = " + rootLocale ); - - Date dateLoc = displayFormatLoc.parse(dateString); - dateStringRoot = simpleDateFormatRoot.format(dateLoc); - } - catch (Exception ex) { - log.warn("Unable to format date."); - System.out.println(ex); - dateStringRoot = dateString; - } - - /* cw-3792 - The date string from the date widget may be in localized form or in the local server form - depending on the locale in use and the stage of displaying the date in the date widget. - When using the date widget to select a date, the date widget always uses 'AM/PM' in display. - Previously entered dates being re-displayed in the widget may have already been reformatted for the locale. - Thus the next date may be using 'am/pm' while the redisplayed date could be using foreign characters - Differently formatted date strings can come in on the same submit and it not predictable ahead of time. - Thus it may be necessary to try the client locale format and the default format used by the widget. - */ - - // use server format to handle am/pm literals - try { - if (!dateValidation(dateStringRoot)) { - this.isValidDate = false; - //return null; - } - if(this.isValidDate == false) { - this.isValidDate = true; - if (!dateValidation(dateString)) { - this.isValidDate = false; - return null; - } - } - - SimpleDateFormat simpleDateFormatRoot = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", java.util.Locale.ROOT); //cw-3792 - TimeUtil tu = new TimeUtil(); - date = tu.getServerDateTime(displayFormat, dateString); - if(date == null) - date = tu.getServerDateTime(simpleDateFormatRoot, dateString); //cw-3792 - } - catch (Exception ex) { - // we will leave it as a null date - log.warn("Unable to format date."); - FacesContext context=FacesContext.getCurrentInstance(); - ResourceLoader rb = new ResourceLoader("org.sakaiproject.tool.assessment.bundle.AuthorMessages"); - String err; - err=rb.getString("deliveryDate_error"); - context.addMessage(null,new FacesMessage(err)); - - error=true; - //ex.printStackTrace(); - } - return date; - } - private boolean dateValidation(String dateString) { int date = 0; int month = 0; Index: samigo-app/src/webapp/jsf/author/authorSettings.jsp =================================================================== --- samigo-app/src/webapp/jsf/author/authorSettings.jsp (revision 10247) +++ samigo-app/src/webapp/jsf/author/authorSettings.jsp (revision 10258) @@ -36,6 +36,15 @@