TPAC - add library scoping to shelf browser user/dbs/lp973618_cnbrowse_scope
authorBen Shum <bshum@biblio.org>
Sun, 12 Aug 2012 07:25:49 +0000 (03:25 -0400)
committerDan Scott <dscott@laurentian.ca>
Mon, 13 Aug 2012 20:10:40 +0000 (16:10 -0400)
The shelf browser currently uses the 'loc' variable to define scoping and
limit browsing to specific org units. However, since much of the scoping
actually uses 'locg', the scoping was broken for the shelf browser.

Additionally, under Advanced Search's Numeric Search, the option for
'Call Number (Shelf Browse)' only applies the 'cn' variable to searches
and never adds the search scope, despite the search library now being
an available filter choice.

Based on suggestion by Dan Scott in IRC, this patch uses the function for
_get_search_lib() to retrieve the search library and add it to both parts
of the shelf browser.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Search.pm

index 70010bd..3ccbe64 100644 (file)
@@ -354,7 +354,7 @@ sub prepare_browse_call_numbers {
     my $cn = ($self->cgi->param("cn") || $self->any_call_number_label) or
         return [];
 
-    my $org_unit = $self->ctx->{get_aou}->($self->cgi->param('loc')) ||
+    my $org_unit = $self->ctx->{get_aou}->($self->_get_search_lib()) ||
         $self->ctx->{aou_tree}->();
 
     my $supercat = create OpenSRF::AppSession("open-ils.supercat");
index 94fdc2c..cecf0f0 100644 (file)
@@ -689,6 +689,7 @@ sub call_number_browse_standalone {
             $self->ctx->{opac_root},
             $cnfrag # XXX some kind of escaping needed here?
         );
+        $url .= '&locg=' . $self->_get_search_lib() if ($self->_get_search_lib());
         return $self->generic_redirect($url);
     } else {
         return $self->generic_redirect; # return to search page