diff --git a/lib/WebGUI/Shop/Tax.pm b/lib/WebGUI/Shop/Tax.pm index 68294eb0c..2a8825452 100644 --- a/lib/WebGUI/Shop/Tax.pm +++ b/lib/WebGUI/Shop/Tax.pm @@ -395,8 +395,8 @@ sub www_getTaxesAsJson { return $session->privilege->insufficient unless $admin->canManage; my ($db, $form) = $session->quick(qw(db form)); - my $startIndex = $form->get('startIndex') || 0; - my $numberOfResults = $form->get('results') || 25; + my $startIndex = $form->get('startIndex') || 0; + my $numberOfResults = $form->get('results') || 25; my @placeholders = (); my $sql = 'select SQL_CALC_FOUND_ROWS * from tax'; my $keywords = $form->get("keywords"); @@ -425,6 +425,27 @@ sub www_getTaxesAsJson { #------------------------------------------------------------------- +=head2 www_importTax ( ) + +Import new tax data from a file provided by the user. This will replace the current +data with the new data. + +=cut + +sub www_importTax { + my $self = shift; + my $session = $self->session; + my $admin = WebGUI::Shop::Admin->new($session); + return $session->privilege->insufficient + unless $admin->canManage; + my $storage = WebGUI::Storage->create($session); + my $taxFile = $storage->addFileFromFormPost('importFile', 1); + $self->importTaxData($storage->getPath($taxFile)) if $taxFile; + return $self->www_manage; +} + +#------------------------------------------------------------------- + =head2 www_manage ( ) User interface to manage taxes. Provides a list of current taxes, and forms for adding @@ -451,13 +472,19 @@ sub www_manage { $style->setRawHeadTags(''); my $i18n=WebGUI::International->new($session, 'Tax'); - 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; + 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 $importForm = WebGUI::Form::formHeader($session,{action => $url->page('shop=tax;method=importTax')}) + . q{} + . WebGUI::Form::submit($session,{value=>$i18n->get('import')}) + . WebGUI::Form::formFooter($session); + my $output =sprintf <get(364, 'WebGUI'), $importForm, $exportForm;
-
+
%s
%s
diff --git a/lib/WebGUI/i18n/English/Tax.pm b/lib/WebGUI/i18n/English/Tax.pm index 994768d49..d0c1100da 100644 --- a/lib/WebGUI/i18n/English/Tax.pm +++ b/lib/WebGUI/i18n/English/Tax.pm @@ -39,6 +39,12 @@ our $I18N = { context => q|To ship a copy of the tax data out of the server.|, }, + 'import' => { + message => q|Import|, + lastUpdated => 1206390280, + context => q|To bring in new tax data that replaces the current data.|, + }, + 'delete' => { message => q|delete|, lastUpdated => 1206385749,