TPAC: Make locale picker match default locale
authorDan Scott <dscott@laurentian.ca>
Mon, 21 Jan 2013 22:02:42 +0000 (17:02 -0500)
committerBen Shum <bshum@biblio.org>
Wed, 6 Feb 2013 04:05:57 +0000 (23:05 -0500)
As noted by Pasi Kallinen, the language picker would not reflect the
chosen locale unless your cookie had been set or there was an explicit
CGI parameter with the locale name.

Accordingly, get the default locale from the context vars and use that
to set the selected value for the language picker in the absence of
anything else, to prevent the picker from possibly confusingly showing
the first language alphabetically rather than the currently displayed
language in the rest of the UI.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
Signed-off-by: Ben Shum <bshum@biblio.org>
Open-ILS/src/templates/opac/parts/locale_picker.tt2

index c81f1f1..12019cd 100644 (file)
@@ -1,5 +1,10 @@
 [%- IF ctx.locales.keys.size > 1;
-    set_locale = CGI.param('set_eg_locale') || CGI.cookie('eg_locale');
+
+    # Ensure the context locale is in xx_yy format
+    base_locale = ctx.locale FILTER lower;
+    base_locale = base_locale.replace('-','_');
+
+    set_locale = CGI.param('set_eg_locale') || CGI.cookie('eg_locale') || base_locale;
 %]
 <form id="locale_picker_form" action="[% mkurl() %]" method="post">
     <label for="locale_picker">[% l("Language:") %]</label>