From 28e4f9f245cf281fd3da295ade73590eb4f96763 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 4 Apr 2011 15:42:29 -0700 Subject: [PATCH] Lower the priority of the scratch variables used to store classnames and page numbers. Fixes bug #12076 --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Content/AssetManager.pm | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 0c6f4b14f..c79fa0eec 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -8,6 +8,7 @@ - fixed #12081: addrees not in addressbook after user change in session - fixed #12089: Cannot refund item in transaction if the sku no longer exists. - rfe #12085: Export Related Story Topics + - fixed #12076: Paginator shows no results with cached page index 7.10.12 - fixed #12072: Product, related and accessory assets diff --git a/lib/WebGUI/Content/AssetManager.pm b/lib/WebGUI/Content/AssetManager.pm index 1557c7e27..c26c30806 100644 --- a/lib/WebGUI/Content/AssetManager.pm +++ b/lib/WebGUI/Content/AssetManager.pm @@ -27,7 +27,10 @@ sub getClassSelectBox { ); delete $classes{"WebGUI::Asset"}; # don't want to search for the root asset - my $className = $session->form->process("class","className") || $session->scratch->get('assetManagerSearchClassName'); + #my $className = $session->form->process("class","className") || $session->scratch->get('assetManagerSearchClassName'); + my $className = $session->form->get('action') ? $session->form->process('class', "className") + : $session->scratch->get('assetManagerSearchPageNumber') + ; $session->scratch->set('assetManagerSearchClassName', $className); return WebGUI::Form::selectBox( $session, { name => "class", @@ -145,7 +148,12 @@ sub getSearchPaginator { $queryString .= ';class=' . $class; } - my $pageNumber = $session->form->get('pn') || $session->scratch->get('assetManagerSearchPageNumber'); + ##If the form was submitted, we always use page #1. Otherwise, take the page # from the + ##form or from the scratch variable. + my $pageNumber = $session->form->get('action') ? 1 + : $session->form->get('pn') ? $session->form->get('pn') + : $session->scratch->get('assetManagerSearchPageNumber') + ; my $p = $s->getPaginatorResultSet( $session->url->page( $queryString ), undef, $pageNumber ); $session->scratch->set('assetManagerSearchPageNumber', $pageNumber);