From 21223657a13403b94ee377842879cfc85fa49fe9 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Fri, 30 Oct 2009 09:16:38 -0700 Subject: [PATCH] Extend the PickLanguage macro to let the user clear their overrides. --- .../root_import_macro_picklanguage.wgpkg | Bin 837 -> 867 bytes lib/WebGUI/Help/Macro_PickLanguage.pm | 6 +++++ lib/WebGUI/Macro/PickLanguage.pm | 25 +++++++++++------- lib/WebGUI/i18n/English/Macro_PickLanguage.pm | 15 +++++++++++ t/Macro/PickLanguage.t | 4 +++ 5 files changed, 41 insertions(+), 9 deletions(-) diff --git a/docs/upgrades/packages-7.8.3/root_import_macro_picklanguage.wgpkg b/docs/upgrades/packages-7.8.3/root_import_macro_picklanguage.wgpkg index 30ba71727f5f20a05e5f9a29567bc904950e6667..da20e143f0dbc42c040384ba8b37387a6f575e6b 100644 GIT binary patch literal 867 zcmV-p1DyOHiwFP!00000|Ls;?Z`v>v&2xW6l;^D^fsle268&0{XoXf-r;Z6Zi2;`o zTeefmrvCTYP9Wx^+f?0fF@x#!$)Z0vv8w(WbKVc53gdyZk0{cM@5WgCv; z`mX0yZMSTgj_r7^VTzFbuat2>MQL*wj8pXbeBzQ~$xF)hdYpHTRMk4_SyoT?_<`Z% zO{);N)k@{X{+BCabG`qr@A-!LE-db=|Hp4i;oiW09SIX!9L`7#I2;1bK{%Pggfq*m zo8NzYQ2UHy3dT@>MJOhaas<^u1tXC{3I$Gdx{znBvZdnXMhqCgcp{jJ-Ij_;(l}mi z3m0;QZ;>>J5u3oMh)v-94kZzuD^R=GV2cD3hPL706Q|$`f~W_^tP8@afD;9+rNr|D z(msQY$^)?^4V$UyzI&?doHSQ__wuBE+*Ow+LIdQ*AW3==96PN|rYil{W`gbH|PZY6SspHcCKYHA<^2+5bCm zBN#&=u`Sg6eGCE^uKz$p? z+xQj1Ox%7EikNIJ2=aJM7Ho>h4dx z6h0y*SU6u!kX?O1Y6>h>pmRCF^LBEH=`15d+e#VCM#plHY|1VXT44l)8BNz9q`1@- zZSHIteCfzy6y=87@a3Br($w9!6Y-y|Sf~*uAzcvOT~equfP-;93tMT}?{%(P*q`2i z=IpHBKPk^!1qfod3nsYOBvQ3-sSJG(3lFGo#x57APt8W(y-HdBx-2pZxr%v_m)AX2 t!d5e2_0YaitA^+G$#38D(evIuz6am~0|y2U4E#q1eghfAewzRg008=3qJ97X literal 837 zcmV-L1G@YliwFP!00000|Ls=WZrU&y=DJT2<$8l85K<6BqNf!JI<(St2PR|^11^c} z*-j~)`tGxxK*FJ$RF&QgUqmSOfADwsL$R>`Wm%Tzx`l#e*`8|`3S}=@#%fsw+jczL zty-RE6%5<5<#|Jf?0>~v047_T!_g#0FRv#rDVMsWS})J@#*w;PTR+SC=@joc!LQnd z%v-Hgp5?#nRO}7@9i9!en;!55fNj<(am2f@H41VJB6cn|n9nNBveR+7vyWH%hL zw%*G(yB4mC4%h%^bphv4q+vsFZdX4u`~B$a$@uuX4LaZNPAA#fn1wn+1Oo(06#26d z;7P3DT-_e=OB4hU>w|XweUA}A#DXT+z!wA)U3yt4;))kAO5<~k@)@F6 zM99iM5Qrp<=irdmi~Ij5tRRcE=1oAQ5AX9{(bBv|k4fj1S|#g>0w&e233vvfdi}EB z?QG+Pc!wwtCAMC35#ncX4C3&w#Oj*0npdm2o|C&RgZGF_6wa3BU-7U8rZVtS1$iu| zWZuRXghdG$xviMP#P!P=uqit%wZbXz6PUWdXQb4VGCUlN01yBGUKW^y diff --git a/lib/WebGUI/Help/Macro_PickLanguage.pm b/lib/WebGUI/Help/Macro_PickLanguage.pm index f5bb02f61..a97371655 100644 --- a/lib/WebGUI/Help/Macro_PickLanguage.pm +++ b/lib/WebGUI/Help/Macro_PickLanguage.pm @@ -26,6 +26,12 @@ our $HELP = { }, ], }, + { + name => "delete_url", + }, + { + name => "delete_label", + }, ], related => [ ], diff --git a/lib/WebGUI/Macro/PickLanguage.pm b/lib/WebGUI/Macro/PickLanguage.pm index 306f4f183..a1af2a40b 100644 --- a/lib/WebGUI/Macro/PickLanguage.pm +++ b/lib/WebGUI/Macro/PickLanguage.pm @@ -11,6 +11,7 @@ package WebGUI::Macro::PickLanguage; # edit this line to match your own macro na #------------------------------------------------------------------- use strict; +use WebGUI::Asset::Template; =head1 NAME @@ -47,17 +48,23 @@ sub process { return "Could not instanciate template with id [$templateId]" unless $template; my $i18n = WebGUI::International->new($session); my $languages = $i18n->getLanguages(); - my $vars = {'lang_loop' => []}; + my @lang_loop = (); foreach my $language ( keys %$languages ) { - my $langVars = {}; - $langVars->{ 'language_url' } = '?op=setLanguage;language=' . $language ; - $langVars->{ 'language_lang' } = $i18n->getLanguage($language , 'label'); - $langVars->{ 'language_langAbbr' } = $i18n->getLanguage($language, 'languageAbbreviation'); - $langVars->{ 'language_langAbbrLoc' } = $i18n->getLanguage($language, 'locale'); - $langVars->{ 'language_langEng' } = $language; - push(@{$vars->{lang_loop}}, $langVars); + push @lang_loop, { + language_url => '?op=setLanguage;language=' . $language, + language_lang => $i18n->getLanguage($language , 'label'), + language_langAbbr => $i18n->getLanguage($language, 'languageAbbreviation'), + language_langAbbrLoc => $i18n->getLanguage($language, 'locale'), + language_langEng => $language, + }; } - return $template->process($vars); + my %vars = ( + lang_loop => \@lang_loop, + delete_url => '?op=setLanguage;language=delete;', + delete_label => $i18n->get('delete',"Macro_PickLanguage"), + ); + + return $template->process(\%vars); } 1; diff --git a/lib/WebGUI/i18n/English/Macro_PickLanguage.pm b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm index a4f1cc78c..99458355a 100644 --- a/lib/WebGUI/i18n/English/Macro_PickLanguage.pm +++ b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm @@ -40,6 +40,21 @@ our $I18N = { ##hashref of hashes lastUpdated => 1131394072, context => q|The url to change languages| }, + 'delete_url' => { + message => q|The url that deletes the scratch language from the session.|, + lastUpdated => 1131394072, + context => q|A template var to remove the scratch language| + }, + 'delete' => { + message => q|Go back to profile language.|, + lastUpdated => 1131394072, + context => q|An internationalized label to go back to the profile language| + }, + 'delete_label' => { + message => q|A label for the link to go back to the profile language.|, + lastUpdated => 1131394072, + context => q|Help for delete_label| + }, }; diff --git a/t/Macro/PickLanguage.t b/t/Macro/PickLanguage.t index ad93afb6a..3f7fc3de1 100644 --- a/t/Macro/PickLanguage.t +++ b/t/Macro/PickLanguage.t @@ -61,6 +61,8 @@ $templateMock->mock('process', sub { $templateVars = $_[1]; } ); 'language_langEng' => 'English' }, ], + delete_url => '?op=setLanguage;language=delete;', + delete_label => 'Go back to profile language.', }, 'some template variables are created' ); @@ -90,6 +92,8 @@ $templateMock->mock('process', sub { $templateVars = $_[1]; } ); 'language_langEng' => 'English' }, ], + delete_url => '?op=setLanguage;language=delete;', + delete_label => "Go back to profile language.", }, 'some template variables are created, when no templateId is passed on with the macro' );