Bug 24663: Remove authnotrequired if set to 0
[srvgit] / authorities / blinddetail-biblio-search.pl
index 0146a66..ed091a2 100755 (executable)
@@ -36,8 +36,7 @@ parameters tables.
 
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use C4::AuthoritiesMarc;
 use C4::Auth;
@@ -65,7 +64,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         template_name   => "authorities/blinddetail-biblio-search.tt",
         query           => $query,
         type            => "intranet",
-        authnotrequired => 0,
         flagsrequired   => { editcatalogue => 'edit_catalogue' },
     }
 );
@@ -86,27 +84,23 @@ if ($authid) {
     my $repet = ($query->param('repet') || 1) - 1;
     my $field = $fields[$repet];
 
-    # Get all values for each distinct subfield
-    my %subfields;
+    # Get all values for each distinct subfield and add to subfield loop
+    my %done_subfields;
     for ( $field->subfields ) {
         next if $_->[0] eq '9'; # $9 will be set with authid value
         my $letter = $_->[0];
-        next if defined $subfields{$letter};
+        $letter ||= '@';
+        next if defined $done_subfields{$letter};
         my @values = $field->subfield($letter);
-        $subfields{$letter} = \@values;
-    }
-
-    # Add all subfields to the subfield_loop
-    for( keys %subfields ) {
-        my $letter = $_ || '@';
-        push( @subfield_loop, {marc_subfield => $letter, marc_values => $subfields{$_}} );
+        push @subfield_loop, {marc_subfield => $letter, marc_values => \@values };
+        $done_subfields{$letter} = 1;
     }
 
     push( @subfield_loop, { marc_subfield => 'w', marc_values => $relationship } ) if ( $relationship );
 
     my $controlled_ind = $auth->controlled_indicators({ record => $record, biblio_tag => $tag_number });
-    $indicator1 = $controlled_ind->{ind1} // q{};
-    $indicator2 = $controlled_ind->{ind2} // q{};
+    $indicator1 = $controlled_ind->{ind1};
+    $indicator2 = $controlled_ind->{ind2};
     if( defined $controlled_ind->{sub2} ) {
         my $v = $controlled_ind->{sub2};
         push @subfield_loop, { marc_subfield => '2', marc_values => [ $v ] };
@@ -116,18 +110,20 @@ if ($authid) {
     $template->param( "clear" => 1 );
 }
 
-# Remove spaces in indicators
-$indicator1 =~ s/\s//g;
-$indicator2 =~ s/\s//g;
+
 
 $template->param(
     authid          => $authid ? $authid : "",
     index           => $index,
     tagid           => $tagid,
+    update_ind1     => defined($indicator1),
     indicator1      => $indicator1,
+    update_ind2     => defined($indicator2),
     indicator2      => $indicator2,
     SUBFIELD_LOOP   => \@subfield_loop,
     tag_number      => $tag_number,
+    rancor          => $index =~ /rancor$/,
 );
 
+
 output_html_with_http_headers $query, $cookie, $template->output;