From 5b89003e249fff2d67e52edcadf5ee9aaf5f696b Mon Sep 17 00:00:00 2001 From: Diona Kidd Date: Wed, 20 Aug 2008 02:08:19 +0000 Subject: [PATCH] Adding internationalized message for empty cart --- .../default-shopping-cart-template.wgpkg | Bin 0 -> 2208 bytes lib/WebGUI/Shop/Cart.pm | 14 +++++++++++++- lib/WebGUI/i18n/English/Shop.pm | 7 +++++++ t/Shop/Cart.t | 5 ++++- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 docs/upgrades/packages-7.5.21/default-shopping-cart-template.wgpkg diff --git a/docs/upgrades/packages-7.5.21/default-shopping-cart-template.wgpkg b/docs/upgrades/packages-7.5.21/default-shopping-cart-template.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..3aa8050aed53201175dade09d0d2ba2c4f203d1a GIT binary patch literal 2208 zcmV;R2w(RfiwFP!000001MOM=Z`-yK&(HfS1Q&QnfI6|BQ6V?sMNyyIY(8>2x|r2M1eQ`1|nC z{O)x3x3+@vr?VA?orCV-Q5f!bw}KGp!mR*a+5AtgG?5_MJspm7w){RI8;zD9qjKXD+?f-v4aZ~o+eI)QU z%;vA}AP8GZ3rWVb6-2>*{`=fK%B0As)Ql>8YRHf>mXv6kyqe+D){B-Q#)Fh7{lh~h zB%Gd_cX*zrd4e{x=r-(h3=DK4|hA9n(Lc$XewbO3}F-_BqBnbfNJy98nt0ydhqXOS!dBC%p{BHT9kk01fbTl zwTMAJ$`hIdOZhw3Utk~O(%S0ZPz#b*fT{(`*<*n)rD=?BRaU_ZQz0_LKoy=>f)CzB zf-;H*gLmiWgTV<&wHIsFU!9-2Kuu^$HLba-q*HNMy6UyEX^-q-}vxX3wqnT)$DdHll06U;)3nJg3Kk(4<(R$2-^Zl*Ss51~Gjw9FBX ztO>;`9Ty~A>2$5)wYX?O7*t3@V^KH6hPBt^VdIL!9m^bRQ|fyCfpN(trf-%9N9Gdz z7gEMCHXuP^`Vn*(ZN)y(sFyvIF*cun7NwQrJ!DmcvzH2LjSeVM-sV+y<7hAMuwRc! z>dHL?tS5u#gHGdj8Fm1+yw$Uh7xiCd9BA~Q=bFA@9IKqobzjaf%Yu>tu+WwSFmgb9 zywpRBB|^O;^nq%cWxJ87$sJ*-m!u=l_Kag|bY?_2E$B{m8i}EBfH{)@3>EM`uXCE@ zG2;IyQ4wHrejL;{ng@%tTDHvQwjvo8rw!-da7`!+oO9l9t#Ovkx0kspewww?F9#Ks zm+ts2y@=c5-EjU`Z z-|8$_c~u-u%k!2@?YRDd4u8D4jG|Lq9YoRf+}v+=8)p;3$BPytFbJiV5e~A!_PO0A z>{QpeCBUzY+6Bl_b;J~|1`v_vQbFCa?5)sj1Q{Rmh&lH(o>HEhnZO(@yBbB$&6cDE zy{d#+#9PalUCDbWXNJW=@8GZ!EF%)OFXmtgK2h}g`sX+EXyNGkDi!gqc^L|iNuB|2 zN8Gr&7b{iP53HWgunu6+G-~`+HPL--a{Gu(Svre|WF&n#cWMf9*v%fiqtAxQHQvn& zwA{7xbpVBM{-pqg^6zW6@rYhz55d7#iDIVBrXZWRi}5Vi&x1PH zyUI=sfr8;R)^#{mN@15ikrF9Og0UpCAgt-#*FzHDqVMx03Sif^{l^7MDTMKMVQ#x< zgEbHC*(5YJIMAy-Bj{i_-u;-3cV6xUl4h`!Y(HQX3~-JQ9YFn(^ zk|ZowZ8xc{MOziUd2+`U*tPL)$9^fDWwnZQ4FHPqelY~rhHGMAO7Oh23jp&<_B_3Z zg1LT87*^4)!ohWNbN&Tm`6w5ygJ<|k4qy1s+<)S$I7{6QmVgIM$X$!w8 ifBx?ChQDS%v429~34tdBo)B0UfxiJeSAQP>C;$LjEluVC literal 0 HcmV?d00001 diff --git a/lib/WebGUI/Shop/Cart.pm b/lib/WebGUI/Shop/Cart.pm index b933b5583..a846ba02a 100644 --- a/lib/WebGUI/Shop/Cart.pm +++ b/lib/WebGUI/Shop/Cart.pm @@ -694,9 +694,21 @@ sub www_view { } |); + + my @items = @{$self->getItems}; + if(scalar(@items) < 1) { + # there are no items in the cart, return a message to the template + my %var = ( + message => $i18n->get('empty cart') + ); + + # render the cart + my $template = WebGUI::Asset::Template->new($session, $session->setting->get("shopCartTemplateId")); + return $session->style->userStyle($template->process(\%var)); + } # generate template variables for the items in the cart - foreach my $item (@{$self->getItems}) { + foreach my $item (@items) { my $sku = $item->getSku; $sku->applyOptions($item->get("options")); my %properties = ( diff --git a/lib/WebGUI/i18n/English/Shop.pm b/lib/WebGUI/i18n/English/Shop.pm index 962b07288..cbb95960c 100644 --- a/lib/WebGUI/i18n/English/Shop.pm +++ b/lib/WebGUI/i18n/English/Shop.pm @@ -873,6 +873,13 @@ our $I18N = { context => q|a button the user clicks on to go back to shopping after viewing the cart| }, + 'empty cart' => { + message => q|There are no items currently in your cart.|, + lastUpdated => 0, + context => q|a message to the user that the cart is empty| + }, + + 'shop' => { message => q|Shop|, lastUpdated => 0, diff --git a/t/Shop/Cart.t b/t/Shop/Cart.t index 56ef3a80f..472f10728 100644 --- a/t/Shop/Cart.t +++ b/t/Shop/Cart.t @@ -27,7 +27,7 @@ use WebGUI::TestException; #---------------------------------------------------------------------------- # Init my $session = WebGUI::Test->session; - +my $i18n = WebGUI::International->new($session, "Shop"); #---------------------------------------------------------------------------- # Tests @@ -52,6 +52,9 @@ my $cart = WebGUI::Shop::Cart->newBySession($session); isa_ok($cart, "WebGUI::Shop::Cart"); isa_ok($cart->session, "WebGUI::Session"); +my $message = $i18n->get('empty cart') . "\n"; +like($cart->www_view, qr/There are no items currently in your cart./, 'Display empty cart message'); + my $root = WebGUI::Asset->getRoot($session); my $product = $root->addChild({ className=>"WebGUI::Asset::Sku::Donation",