summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Schumann <wurblzap@gmail.com>2012-05-18 14:09:05 +0200
committerMarc Schumann <wurblzap@gmail.com>2012-05-18 14:09:05 +0200
commit7298d3241bea1272ba316c437007d9c07c4ed8b4 (patch)
tree9fffa7925ed8e6d20869c495d0a3b95c490db48b
parentd3a92bd63e702f066685ea03dec649c08e0ff6b2 (diff)
downloadbugzilla-7298d3241bea1272ba316c437007d9c07c4ed8b4.tar.gz
bugzilla-7298d3241bea1272ba316c437007d9c07c4ed8b4.tar.xz
The calendar widget is not localizable.
r/a=LpSolit https://bugzilla.mozilla.org/show_bug.cgi?id=581365
-rw-r--r--js/field.js12
-rw-r--r--template/en/default/bug/field.html.tmpl5
-rw-r--r--template/en/default/bug/summarize-time.html.tmpl10
-rw-r--r--template/en/default/global/calendar.js.tmpl33
-rw-r--r--template/en/default/search/field.html.tmpl7
-rw-r--r--template/en/default/search/form.html.tmpl7
6 files changed, 59 insertions, 15 deletions
diff --git a/js/field.js b/js/field.js
index 0824e2714..4150f8ce4 100644
--- a/js/field.js
+++ b/js/field.js
@@ -83,9 +83,17 @@ function _errorFor(field, name) {
YAHOO.util.Dom.addClass(field, 'validation_error_field');
}
-function createCalendar(name) {
+/* This function is never to be called directly, but only indirectly
+ * using template/en/default/global/calendar.js.tmpl, so that localization
+ * works. For the same reason, if you modify this function's parameter list,
+ * you need to modify the documentation in said template as well. */
+function createCalendar(name, start_weekday, months_long, weekdays_short) {
var cal = new YAHOO.widget.Calendar('calendar_' + name,
- 'con_calendar_' + name);
+ 'con_calendar_' + name,
+ { START_WEEKDAY: start_weekday,
+ MONTHS_LONG: months_long,
+ WEEKDAYS_SHORT: weekdays_short
+ });
YAHOO.bugzilla['calendar_' + name] = cal;
var field = document.getElementById(name);
cal.selectEvent.subscribe(setFieldFromCalendar, field, false);
diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl
index e6660256f..1f0ea175a 100644
--- a/template/en/default/bug/field.html.tmpl
+++ b/template/en/default/bug/field.html.tmpl
@@ -56,8 +56,9 @@
<div id="con_calendar_[% field.name FILTER html %]"></div>
<script type="text/javascript">
- createCalendar('[% field.name FILTER js %]')
- </script>
+ <!--
+ [%+ PROCESS "global/calendar.js.tmpl" id = field.name %]
+ //--></script>
[% CASE constants.FIELD_TYPE_BUG_ID %]
<span id="[% field.name FILTER html %]_input_area">
<input name="[% field.name FILTER html %]" id="[% field.name FILTER html %]"
diff --git a/template/en/default/bug/summarize-time.html.tmpl b/template/en/default/bug/summarize-time.html.tmpl
index 3978a1c59..932a6e3f4 100644
--- a/template/en/default/bug/summarize-time.html.tmpl
+++ b/template/en/default/bug/summarize-time.html.tmpl
@@ -332,10 +332,10 @@
</form>
<script type="text/javascript">
-<!--
- createCalendar('start_date');
- createCalendar('end_date');
- document.forms['summary'].start_date.focus();
-//--></script>
+ <!--
+ [%+ PROCESS "global/calendar.js.tmpl" id = 'start_date' %]
+ [% PROCESS "global/calendar.js.tmpl" id = 'end_date' %]
+ document.forms['summary'].start_date.focus();
+ //--></script>
<hr noshade size=1>
[% END %]
diff --git a/template/en/default/global/calendar.js.tmpl b/template/en/default/global/calendar.js.tmpl
new file mode 100644
index 000000000..26f3fa023
--- /dev/null
+++ b/template/en/default/global/calendar.js.tmpl
@@ -0,0 +1,33 @@
+[%# This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ #
+ # This Source Code Form is "Incompatible With Secondary Licenses", as
+ # defined by the Mozilla Public License, v. 2.0.
+ #%]
+
+[%# INTERFACE:
+ # id: The id of the input field the calendar widget is to be assigned to.
+ #%]
+
+[%# This template exists because createCalendar accepts additional parameters
+ # which allow for localization. Please see the YUI documentation at
+ # http://developer.yahoo.com/yui/calendar/#internationalization for details.
+ # As an example, here's what you'd specify as additional parameters to
+ # localize for German calendars; replace the ellipsis ("...") by the original
+ # parameter (we cannot put it into the example because it'd break this
+ # template comment):
+ #
+ # createCalendar(...
+ # /* The weekday the week begins on; 0 is Sunday,
+ # * 1 is Monday and so on: */
+ # 1,
+ # /* Months, full names; first must be January: */
+ # ['Januar', 'Februar', 'März', 'April',
+ # 'Mai', 'Juni', 'Juli', 'August',
+ # 'September', 'Oktober', 'November', 'Dezember'],
+ # /* Weekdays, two-letter abbreviations; first must be
+ # * Sunday: */
+ # ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']);
+ #%]
+createCalendar('[% id FILTER js %]');
diff --git a/template/en/default/search/field.html.tmpl b/template/en/default/search/field.html.tmpl
index dd5e1fac7..34a480f31 100644
--- a/template/en/default/search/field.html.tmpl
+++ b/template/en/default/search/field.html.tmpl
@@ -82,9 +82,10 @@
<span id="con_calendar_[% field.name FILTER html %]to"></span>
<script type="text/javascript">
- createCalendar('[% field.name FILTER js %]');
- createCalendar('[% field.name FILTER js %]to');
- </script>
+ <!--
+ [%+ PROCESS "global/calendar.js.tmpl" id = field.name %]
+ [% PROCESS "global/calendar.js.tmpl" id = field.name _ 'to' %]
+ //--></script>
[% CASE [ constants.FIELD_TYPE_SINGLE_SELECT,
constants.FIELD_TYPE_MULTI_SELECT ] %]
<div id="container_[% field.name FILTER html %]" class="search_field_grid">
diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl
index fc6f597cf..48980b633 100644
--- a/template/en/default/search/form.html.tmpl
+++ b/template/en/default/search/form.html.tmpl
@@ -319,9 +319,10 @@ TUI_hide_default('information_query');
<div id="con_calendar_chfieldto"></div>
(YYYY-MM-DD or relative dates)
<script type="text/javascript">
- createCalendar('chfieldfrom');
- createCalendar('chfieldto');
- </script>
+ <!--
+ [%+ PROCESS "global/calendar.js.tmpl" id = 'chfieldfrom' %]
+ [% PROCESS "global/calendar.js.tmpl" id = 'chfieldto' %]
+ //--></script>
</li>
</ul>