From 320e1738a32bf34851417d5b5f10fd838dabc259 Mon Sep 17 00:00:00 2001 From: Martin Kamerbeek Date: Fri, 13 Mar 2009 16:13:20 +0000 Subject: [PATCH] Adding base of Shop account plugin vendor payouts stuff. --- .../root_import_account_shop.wgpkg | Bin 0 -> 2288 bytes docs/upgrades/upgrade_7.6.14-7.7.0.pl | 11 ++++ lib/WebGUI/Account/Shop.pm | 53 +++++++++++++++++- lib/WebGUI/Shop/Admin.pm | 1 + lib/WebGUI/i18n/English/Account_Shop.pm | 5 ++ lib/WebGUI/i18n/English/Shop.pm | 6 ++ 6 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 docs/upgrades/packages-7.7.0/root_import_account_shop.wgpkg diff --git a/docs/upgrades/packages-7.7.0/root_import_account_shop.wgpkg b/docs/upgrades/packages-7.7.0/root_import_account_shop.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..7d039869edb789f501036b80087ebf9f8cb75d1c GIT binary patch literal 2288 zcmVJp1j|C`KMSc)@^%luUIVA?c&~E zrLG?Fs@0ADFV`yd75`VNmC~LC)_nQrrTqW?CC^R!a7`cScu#>Fy@a-k>9D1vm7Ly6S^r+9tIy-vnVRpeW z>pH7~;5)(4DMro!P1hG9&ans=bGY2z8-{~JDQ-q%q$HAVOF$_s~k5NIz(${7&v|bQSz*z@q zJi`Mr$21UH$y(8%nlc*rUFXOldbU(fHsxaJ;sKt68wC!v?R^yRTV;XxPtD**ycuRh zTrl^T(RmLs>}kdZjf44^5nm9h^jY`t!3=rR%@MP{?x$QB zn)6Qr5g^yr6TbYK_@Ai&zGD=ro-?d6$6k;emNZ)#_kjw-oR2++c+-Thip4&;*IHJJ zhLnV#(eZVbA=N<&&8!4%H0q6pT`wB~F)TxfdWX@O%Q6H6AR1psJ~8$d564Y?KhXkv zW481~FXCj#A<#4ozW#!L`&s$3D|~;%?}vl?5f#^+gbCsOC5MfbMg|9YusW_kLnAD} z`mU?Ivt_WhAfsgP`OsK8+F^rXudiEp#on{z1pC`F6w`9uV49EFaB}x zd0_a`XT%e7tNw0B4{D*D%)x*C^4D{u_^muPoi{!HJXHYj+IIij)lzBY{;w8mmACtU ztK*(&^0D{-|KJ^;Yq`X`witH*c?FdY+&9`_bccM-^VUS>?)^pg?wbS0ymz%JQ36%pb=Ono>w%ok{G&_ z`c|ld`jMt_NxOw2^S9KB1!5LhrY(&vuVIiNnNTBgN)M5VMR;c{$O5+`aXEJ3;>Qjw zD=3C!(r&j#?NuhN0*n<9`~xAR6Q$7d371L9entEspGnU%?!7F=Po57rEm=}a_>AHYVMgVlQXU0(H*ANhQW-MjA5k2Z`whFJ?l zS>tEA@bZKQqXX&*DAz(arChuWNFE9pFVE53aHFCj4rp^b?dY0TJ34m0TxlnhwzlHW0%F6CnXW zH-Ka@R? zX`p0 z%*dS0=IP+mS@bJenFePm5KQHlTASG8DUzjSgkY? z%cfvjC%dKdT1e}e3ifAavlai9Uj_fws>Sj;{9limLT{!1lc6R73y@0K6) z=XUXO|EqUaX`BaiTzvqjIXZ>s=SwJ>p>)c}0P6J-+T{tfi6_LxLx!h>Lu*@hAdMO) zRqS7$5N|~91|!#?P$iNd*Y%?m+>45zp1Rhp0TsyQQNg2D780nWeya<8y?7EM>MYlW z^$G?E&1v@#aiFsb7|c<>6V&Fz4AjMPydckQ?6P+VotY(CKYNA4EUfcKh7VN8}&riD_zTJ^F*4=wOuc!H&7yL>SLms zEj!S%*tl^UWjH)PJRA<&mnYP52G9>fj-JCV$1sW)*b9f_uF6XKh-BGl`y+7UGIZeP zu8+~E0T4DJ(|}<|`5w-JY}Y*2UpQ@nyh3=~)(Fp_9{u&hMlWRQ z34=P2*AfBD?2^Bv#-;^Yt2wMCRf?nf@+1`ZKsqJmdX-Rhv!iXP%x5*>x`}bWo)6Cu zZ(Cua;jMz)0sNa>bQ<4B&ImuHlzJioAG^FX-5Ks1FK}N2?l&6y#w*tZ?uQ80`m_wK zxQ>8d0rc-6#Ur49xl~I-#+QcvCNP)(_2EfxY~h7u$#@U__o2V+U=}_t)!|5jcqib$ z-@PrL9=h)R`Ptz5;>e!|=lL_^1?Woye|VE`S4w3gV&8y&Cfa)&e6zrt1>P)>Sm3`9 KNo!yLEC2v-OnY_! literal 0 HcmV?d00001 diff --git a/docs/upgrades/upgrade_7.6.14-7.7.0.pl b/docs/upgrades/upgrade_7.6.14-7.7.0.pl index 1ce34356e..e0fb9223a 100644 --- a/docs/upgrades/upgrade_7.6.14-7.7.0.pl +++ b/docs/upgrades/upgrade_7.6.14-7.7.0.pl @@ -49,6 +49,7 @@ pa_addPassiveAnalyticsStatus($session); # vendor payouts addTransactionItemFlags( $session ); +createShopAcccountPluginSettings( $session ); finish($session); # this line required @@ -291,6 +292,16 @@ sub addTransactionItemFlags { print "Done.\n" unless $quiet; } +#---------------------------------------------------------------------------- +sub createShopAcccountPluginSettings { + my $session = shift; + print "Creating default settings for the account plugin..." unless $quiet; + + $session->setting->add('shopMySalesTemplateId', '-zxyB-O50W8YnL39Ouoc4Q'); + + print "Done.\n" unless $quiet; +} + #---------------------------------------------------------------------------- # Describe what our function does #sub exampleFunction { diff --git a/lib/WebGUI/Account/Shop.pm b/lib/WebGUI/Account/Shop.pm index dc8bd8452..98cf169fd 100644 --- a/lib/WebGUI/Account/Shop.pm +++ b/lib/WebGUI/Account/Shop.pm @@ -48,8 +48,11 @@ sub appendCommonVars { my $user = $session->user; my $method = $session->form->get("do"); - $var->{'manage_purchases_url' } = $self->getUrl("module=shop;do=managePurchases"); - $var->{'managesPurchasesIsActive'} = WebGUI::Utility::isIn($method,("","managePurchases","view","viewTransaction")); + $var->{ 'manage_purchases_url' } = $self->getUrl("module=shop;do=managePurchases"); + $var->{ 'managesPurchasesIsActive' } = WebGUI::Utility::isIn($method,("","managePurchases","view","viewTransaction")); + + $var->{ 'view_sales_url' } = $self->getUrl( 'module=shop;do=viewSales' ); + $var->{ 'viewSalesIsActive' } = $method eq 'viewSales'; } #------------------------------------------------------------------- @@ -108,6 +111,13 @@ sub editSettingsForm { label => $shopi18n->get("my purchases detail template"), hoverHelp => $shopi18n->get("my purchases detail template help") ); + $f->template( + name => 'shopMySalesTemplateId', + value => $self->session->setting->get('shopMySalesTemplateId'), + namespace => 'Shop/MySales', + label => $shopi18n->echo('my sales template'), + hoverHelp => $shopi18n->echo('my sales template help'), + ); return $f->printRowsOnly; } @@ -130,6 +140,7 @@ sub editSettingsFormSave { $setting->set("shopLayoutTemplateId", $form->process("shopLayoutTemplateId","template")); $setting->set("shopMyPurchasesTemplateId", $form->process("shopMyPurchasesTemplateId","template")); $setting->set("shopMyPurchasesDetailTemplateId", $form->process("shopMyPurchasesDetailTemplateId","template")); + $setting->set("shopMySalesTemplateId", $form->process("shopMySalesTemplateId","template")); } #------------------------------------------------------------------- @@ -208,6 +219,43 @@ sub www_view { #------------------------------------------------------------------- +=head2 www_viewSales ( ) + +Page that show your earnings if you are a vendor. + +=cut + +sub www_viewSales { + my $self = shift; + my $session = $self->session; + my $vendor = WebGUI::Shop::Vendor->newByUserId( $session, $session->user->userId ); + + my $var = $vendor->getPayoutTotals; + my $totalSales = 0; + my @products; + + my $sth = $session->db->read( + 'select *, sum(quantity) as quantity, sum(vendorPayoutAmount) as payoutAmount from transactionItem ' + .'where vendorId=? group by assetId order by quantity desc', + [ $vendor->getId ] + ); + while (my $row = $sth->hashRef) { + push @products, $row; + $totalSales += $row->{quantity}; + } + $sth->finish; + + $var->{ product_loop } = \@products; + $var->{ total_products } = scalar @products; + $var->{ total_sales } = $totalSales; + + $self->appendCommonVars( $var ); + + return $self->processTemplate( $var, $session->setting->get('shopMySalesTemplateId') ); +} + +#------------------------------------------------------------------- + =head2 www_viewTransaction ( ) The main view page for editing the user's profile. @@ -294,4 +342,5 @@ sub www_viewTransaction { + 1; diff --git a/lib/WebGUI/Shop/Admin.pm b/lib/WebGUI/Shop/Admin.pm index b8fc9eb26..bcc7ef7d5 100644 --- a/lib/WebGUI/Shop/Admin.pm +++ b/lib/WebGUI/Shop/Admin.pm @@ -68,6 +68,7 @@ sub getAdminConsole { $ac->addSubmenuItem($url->page("shop=ship;method=manage"), $i18n->get("shipping methods")); $ac->addSubmenuItem($url->page("shop=transaction;method=manage"), $i18n->get("transactions")); $ac->addSubmenuItem($url->page("shop=vendor;method=manage"), $i18n->get("vendors")); + $ac->addSubmenuItem($url->page("shop=vendor;method=managePayouts"), $i18n->get("vendor payouts")); $ac->addSubmenuItem($url->page("shop=credit;method=manage"), $i18n->get("in shop credit")); return $ac; } diff --git a/lib/WebGUI/i18n/English/Account_Shop.pm b/lib/WebGUI/i18n/English/Account_Shop.pm index dd8d274a7..666d643a3 100644 --- a/lib/WebGUI/i18n/English/Account_Shop.pm +++ b/lib/WebGUI/i18n/English/Account_Shop.pm @@ -49,6 +49,11 @@ our $I18N = { lastUpdated => 1230867169, }, + 'my sales label' => { + message => q{Sales}, + lastUpdated => 0, + }, + }; 1; diff --git a/lib/WebGUI/i18n/English/Shop.pm b/lib/WebGUI/i18n/English/Shop.pm index 6f9183459..8311e03b4 100644 --- a/lib/WebGUI/i18n/English/Shop.pm +++ b/lib/WebGUI/i18n/English/Shop.pm @@ -555,6 +555,12 @@ our $I18N = { context => q|admin function label| }, + 'vendor payouts' => { + message => q|Vendor payouts|, + lastUpdated => 0, + context => q|admin function label| + }, + 'update' => { message => q|Update|, lastUpdated => 0,