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;
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,