diff --git a/docs/upgrades/packages-7.8.3/shopping-cart-collateral-items_select-gateway-default.wgpkg b/docs/upgrades/packages-7.8.3/shopping-cart-collateral-items_select-gateway-default.wgpkg new file mode 100644 index 000000000..57ad125e4 Binary files /dev/null and b/docs/upgrades/packages-7.8.3/shopping-cart-collateral-items_select-gateway-default.wgpkg differ diff --git a/docs/upgrades/upgrade_7.8.2-7.8.3.pl b/docs/upgrades/upgrade_7.8.2-7.8.3.pl index 166124e08..333f05564 100644 --- a/docs/upgrades/upgrade_7.8.2-7.8.3.pl +++ b/docs/upgrades/upgrade_7.8.2-7.8.3.pl @@ -32,7 +32,7 @@ my $session = start(); # this line required # upgrade functions go here reKeyTemplateAttachments($session); - +addSelectPaymentGatewayTemplateToSettings($session); finish($session); # this line required @@ -55,6 +55,15 @@ sub reKeyTemplateAttachments { print "DONE!\n" unless $quiet; } +#---------------------------------------------------------------------------- +# add default template for selectPaymentGateway +sub addSelectPaymentGatewayTemplateToSettings { + my $session = shift; + print "\tAdding select payment gateway template to settings... " unless $quiet; + $session->db->write("insert into settings values ('selectGatewayTemplateId', '2GxjjkRuRkdUg_PccRPjpA');"); + print "Done.\n" unless $quiet; +} + #sub exampleFunction { # my $session = shift; # print "\tWe're doing some stuff here that you should know about... " unless $quiet; diff --git a/lib/WebGUI/Shop/Admin.pm b/lib/WebGUI/Shop/Admin.pm index ce4cedd2d..8dc24fb74 100644 --- a/lib/WebGUI/Shop/Admin.pm +++ b/lib/WebGUI/Shop/Admin.pm @@ -180,6 +180,13 @@ sub www_editSettings { label => $i18n->get("edit address template"), hoverHelp => $i18n->get("edit address template help"), ); + $form->template( + name => "selectGatewayTemplateId", + value => $setting->get("selectGatewayTemplateId"), + label => $i18n->get("select gateway template"), + namespace => "Shop/selectGateway", + hoverHelp => $i18n->get("select gateway template help"), + ); $form->template( name => "shopMyPurchasesTemplateId", value => $setting->get("shopMyPurchasesTemplateId"), @@ -226,7 +233,7 @@ sub www_editSettingsSave { # Save shop templates foreach my $template (qw(shopMyPurchasesDetailTemplateId shopMyPurchasesTemplateId - shopCartTemplateId shopAddressBookTemplateId shopAddressTemplateId shopReceiptEmailTemplateId)) { + shopCartTemplateId shopAddressBookTemplateId shopAddressTemplateId selectGatewayTemplateId shopReceiptEmailTemplateId)) { $setting->set($template, $form->get($template, "template")); } diff --git a/lib/WebGUI/Shop/Pay.pm b/lib/WebGUI/Shop/Pay.pm index b33d6ca17..515a614ff 100644 --- a/lib/WebGUI/Shop/Pay.pm +++ b/lib/WebGUI/Shop/Pay.pm @@ -423,12 +423,16 @@ sub www_selectPaymentGateway { # TODO: If only one payOption exists, just send us there # In order to do this, the PayDriver must give us a direct URL to go to - my $output .= $i18n->get('choose payment gateway message'); + my $var; + my @paymentGateways; foreach my $payOption ( values %{$payOptions} ) { - $output .= $payOption->{button} . '
'; + push @paymentGateways, $payOption; } - - return $session->style->userStyle( $output ); + $var->{ paymentGateways } = \@paymentGateways; + $var->{ choose } = $i18n->get('choose payment gateway message'); + $session->log->warn('###'.$session->setting->get("selectGatewayTemplateId")); + my $template = WebGUI::Asset::Template->new($session, $session->setting->get("selectGatewayTemplateId")); + return $session->style->userStyle($template->process($var)); } 1; diff --git a/lib/WebGUI/i18n/English/Shop.pm b/lib/WebGUI/i18n/English/Shop.pm index bc2505fff..5362fcb69 100644 --- a/lib/WebGUI/i18n/English/Shop.pm +++ b/lib/WebGUI/i18n/English/Shop.pm @@ -669,6 +669,18 @@ our $I18N = { context => q|commerce setting help| }, + 'select gateway template' => { + message => q|Select Gateway Template|, + lastUpdated => 0, + context => q|commerce setting| + }, + + 'select gateway template help' => { + message => q|This template is the template for the Select Payment Gateway step.|, + lastUpdated => 0, + context => q|commerce setting help| + }, + 'transactions' => { message => q|Transactions|, lastUpdated => 0,