Use split instead of regex, and only one flag
authorMike Rylander <miker@esilibrary.com>
Thu, 25 Sep 2014 19:35:54 +0000 (15:35 -0400)
committerMike Rylander <miker@esilibrary.com>
Thu, 25 Sep 2014 19:35:54 +0000 (15:35 -0400)
Signed-off-by: Mike Rylander <miker@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/WWW/SuperCat.pm

index a09b2dc..526722f 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)?(\.search)?$/;
+my $authority_axis_re = qr/^authority\.(\w+)(\.refs)?$/;
 
 my %extra_header_action_per_type = (
     marc21 => [
@@ -1640,13 +1640,13 @@ sub string_browse {
 
     my $tree;
     if ($axis =~ /^authority/) {
-        my ($realaxis, $refs, $search_flag) = ($axis =~ $authority_axis_re);
+        my (undef, $realaxis, $search_flag) = split /\./, $axis;
 
-       my $how = 'browse_center';
-       $how = 'search_rank' if $search_flag;
+        my $how = 'browse_center';
+        $how = 'search_rank' if ($search_flag eq 'search');
 
         my $method = "open-ils.supercat.authority.$how.by_axis";
-        $method .= ".refs" if $refs or $search_flag;
+        $method .= ".refs" if $search_flag;
 
         $tree = $supercat->request(
             $method,