diff --git a/lib/WebGUI/Shop/Tax.pm b/lib/WebGUI/Shop/Tax.pm index 33afeb73f..68294eb0c 100644 --- a/lib/WebGUI/Shop/Tax.pm +++ b/lib/WebGUI/Shop/Tax.pm @@ -362,6 +362,25 @@ sub www_deleteTax { #------------------------------------------------------------------- +=head2 www_exportTax ( ) + +Export the entire tax table as a CSV file the user can download. + +=cut + +sub www_exportTax { + my $self = shift; + my $session = $self->session; + my $admin = WebGUI::Shop::Admin->new($session); + return $session->privilege->insufficient + unless $admin->canManage; + my $storage = $self->exportTaxData(); + $self->session->http->setRedirect($storage->getUrl($storage->getFiles->[0])); + return "redirect"; +} + +#------------------------------------------------------------------- + =head2 www_getTaxesAsJson ( ) Servers side pagination for tax data that is sent as JSON back to the browser to be @@ -432,13 +451,14 @@ sub www_manage { $style->setRawHeadTags(''); my $i18n=WebGUI::International->new($session, 'Tax'); - my $output =sprintf <get(364, 'WebGUI'), $i18n->get('export'); + my $exportForm = WebGUI::Form::formHeader($session,{action => $url->page('shop=tax;method=exportTax')}).WebGUI::Form::submit($session,{value=>$i18n->get('export')}).WebGUI::Form::formFooter($session); + my $output =sprintf <get(364, 'WebGUI'), $exportForm;
-
+
%s