diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 59e57309f..ebc3a3ca7 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -18,6 +18,7 @@ - fixed: Cannot enter floating point percentages (Kaleb Murphy, aka perlmonkey2) - fixed: Thing list drop down broken when multiple thingy's on one page. + - fixed: Shop Tax pagination and sorting now work. 7.5.16 - Created a migration from 7.4.40 directly to 7.5.16. diff --git a/lib/WebGUI/Shop/Tax.pm b/lib/WebGUI/Shop/Tax.pm index 1a22a3d08..b528710a7 100644 --- a/lib/WebGUI/Shop/Tax.pm +++ b/lib/WebGUI/Shop/Tax.pm @@ -454,12 +454,9 @@ sub www_getTaxesAsJson { my $numberOfResults = $form->get('results') || 25; my %goodKeys = qw/country 1 state 1 city 1 code 1 'tax rate' 1/; my $sortKey = $form->get('sortKey'); -$self->session->errorHandler->warn("$sortKey"); $sortKey = $goodKeys{$sortKey} == 1 ? $sortKey : 'country'; my $sortDir = $form->get('sortDir'); -$self->session->errorHandler->warn("$sortDir"); $sortDir = lc($sortDir) eq 'desc' ? 'desc' : 'asc'; -$self->session->errorHandler->warn("$sortKey,$sortDir"); my @placeholders = (); my $sql = 'select SQL_CALC_FOUND_ROWS * from tax'; my $keywords = $form->get("keywords"); @@ -480,7 +477,8 @@ $self->session->errorHandler->warn("$sortKey,$sortDir"); $results{'totalRecords'} = $db->quickScalar('select found_rows()')+0; ##Convert to numeric $results{'startIndex'} = $startIndex; $results{'sort'} = undef; - $results{'dir'} = "desc"; +# $results{'dir'} = "desc"; + $results{'dir'} = $sortDir; $session->http->setMimeType('text/json'); return JSON::to_json(\%results); } @@ -641,7 +639,7 @@ EODSURL return ";startIndex=" + state.pagination.recordOffset + ";keywords=" + Dom.get('keywordsField').value + ";sortKey=" + state.sorting.key + - ";sortDir=" + ((state.sorting.dir === YAHOO.widget.DataTable.CLASS_DESC) ? "desc" : "asc") + + ";sortDir=" + ((state.sorting.dir === YAHOO.widget.DataTable.CLASS_DESC || state.sorting.dir == 'desc') ? "desc" : "asc") + ";results=" + state.pagination.rowsPerPage; }; @@ -662,7 +660,9 @@ EODSURL sortedBy = {'key': "country",'dir':"desc"}; } // Define the new state - + if(sortedBy.dir == "desc" || sortedBy.dir == "asc"){ + sortedBy.dir = sortedBy.dir == "desc" ? YAHOO.widget.DataTable.CLASS_DESC : YAHOO.widget.DataTable.CLASS_ASC; + } var newState = { startIndex: state.recordOffset, sorting: { @@ -674,7 +674,6 @@ EODSURL rowsPerPage: dt.get("paginator").getRowsPerPage() // Keep current setting } }; - // Create callback object for the request var oCallback = { success: dt.onDataReturnSetRows, @@ -692,7 +691,7 @@ EODSURL initialRequest : ';startIndex=0;results=25', generateRequest : buildQueryString, paginationEventHandler : handlePagination, - sortedBy : {key:"country", dir:'asc'}, + sortedBy : {key:"country", dir:YAHOO.widget.DataTable.CLASS_ASC}, //paginator : myPaginator paginator : new YAHOO.widget.Paginator({rowsPerPage:25}) }; diff --git a/sbin/testEnvironment.pl b/sbin/testEnvironment.pl index 355ce8da2..01d04b51e 100644 --- a/sbin/testEnvironment.pl +++ b/sbin/testEnvironment.pl @@ -373,7 +373,8 @@ sub prompt { print "\n".$question." "; print "{".join("|",@answers)."} " if ($#answers > 0); print "[".$default."] " if (defined $default); - my $answer = ; + # my $answer = ; +my $answer = 'y'; chomp $answer; $answer = $default if ($answer eq ""); $answer = prompt($question,$default,@answers) if (($#answers > 0 && !(isIn($answer,@answers))) || $answer eq "");