POC: allow search of authority from within "manage authorities"
authorMike Rylander <miker@esilibrary.com>
Thu, 25 Sep 2014 15:25:46 +0000 (11:25 -0400)
committerMike Rylander <miker@esilibrary.com>
Thu, 25 Sep 2014 15:25:46 +0000 (11:25 -0400)
Signed-off-by: Mike Rylander <miker@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm
Open-ILS/src/templates/cat/authority/list.tt2
Open-ILS/web/js/ui/default/cat/authority/list.js

index 873b956..a09b2dc 100644 (file)
@@ -36,7 +36,7 @@ my $U = 'OpenILS::Application::AppUtils';
 # set the bootstrap config when this module is loaded
 my ($bootstrap, $supercat, $actor, $parser, $search, $xslt, $cn_browse_xslt, %browse_types, %qualifier_map);
 
-my $authority_axis_re = qr/^authority\.(\w+)(\.refs)?$/;
+my $authority_axis_re = qr/^authority\.(\w+)(\.refs)?(\.search)?$/;
 
 my %extra_header_action_per_type = (
     marc21 => [
@@ -1640,10 +1640,13 @@ sub string_browse {
 
     my $tree;
     if ($axis =~ /^authority/) {
-        my ($realaxis, $refs) = ($axis =~ $authority_axis_re);
+        my ($realaxis, $refs, $search_flag) = ($axis =~ $authority_axis_re);
 
-        my $method = "open-ils.supercat.authority.browse_center.by_axis";
-        $method .= ".refs" if $refs;
+       my $how = 'browse_center';
+       $how = 'search_rank' if $search_flag;
+
+        my $method = "open-ils.supercat.authority.$how.by_axis";
+        $method .= ".refs" if $refs or $search_flag;
 
         $tree = $supercat->request(
             $method,
@@ -1723,7 +1726,7 @@ sub string_startwith {
 
     my $tree;
     if ($axis =~ /^authority/) {
-        my ($realaxis, $refs) = ($axis =~ $authority_axis_re);
+        my ($realaxis, $refs, $search_flag) = ($axis =~ $authority_axis_re);
 
         my $method = "open-ils.supercat.authority.browse_top.by_axis";
         $method .= ".refs" if $refs;
@@ -2216,7 +2219,7 @@ sub return_auth_response {
     if ($qualifier eq "id") {
         $recs = [ int($term) ];
     } else {
-        my ($realaxis, $refs) = ($qualifier =~ $authority_axis_re);
+        my ($realaxis, $refs, $search_flag) = ($qualifier =~ $authority_axis_re);
 
         my $method = "open-ils.supercat.authority.browse_top.by_axis";
         $method .= ".refs" if $refs;
index 9b8aa96..36204a1 100644 (file)
             trim="true"
         />
     </span>
+    <span style="white-space: nowrap;">
+        <label for="searchOrNot">[% l('Search instead of browse: ') %]</label>
+        <input type="checkbox" name="searchOrNot" value="1" dojoType="dijit.form.Checkbox" id="searchOrNot"/>
+    </span>
 <!-- Not currently useful - see authOUListInit() above -->
 <!--    <label for="authOU">[% l('Library: ') %]</label><select dojoType="openils.widget.OrgUnitFilteringSelect" id="authOU" name="authOU" searchAttr="shortname" labelAttr="shortname"></select> -->
 
index 4c42b90..01bdb65 100644 (file)
@@ -377,6 +377,7 @@ function displayRecords(parms) {
 
     var url = '/opac/extras/browse/marcxml/authority.'
         + dijit.byId('authAxis').attr('value')
+        + dijit.byId('searchOrNot').attr('checked') ? '.search' : ''
         // + '/' + dijit.byId('authOU').attr('value')
         + '/1' // replace with preceding line if OUs gain some meaning
         + '/' + encodeURIComponent(dijit.byId('authTerm').attr('value'))