Bug 17600: Standardize our EXPORT_OK
[srvgit] / authorities / detail.pl
index 31187ec..1fefaa9 100755 (executable)
@@ -36,21 +36,19 @@ parameters tables.
 
 =cut
 
+use Modern::Perl;
 
-use strict;
-use warnings;
-
-use C4::AuthoritiesMarc;
-use C4::Auth;
+use C4::Auth qw( get_template_and_user );
+use C4::AuthoritiesMarc qw( GetAuthority GenerateHierarchy );
 use C4::Context;
-use C4::Output;
+use C4::Output qw( output_html_with_http_headers );
 use CGI qw ( -utf8 );
-use MARC::Record;
 use C4::Koha;
 use Koha::Authorities;
 
 use Koha::Authority::Types;
 use Koha::Token;
+use Koha::Z3950Servers;
 
 our ($tagslib);
 
@@ -121,7 +119,8 @@ sub build_tabs {
                         my %subfield_data;
                         $subfield_data{marc_lib}=$tagslib->{$field->tag()}->{$subf[$i][0]}->{lib};
                         if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{isurl}) {
-                          $subfield_data{marc_value}="<a href=\"$subf[$i][1]\">$subf[$i][1]</a>";
+                            $subfield_data{marc_value} = $subf[$i][1];
+                            $subfield_data{is_url} = 1;
                         } else {
                           $subfield_data{marc_value}=$subf[$i][1];
                         }
@@ -138,11 +137,15 @@ sub build_tabs {
                     }
                     if ($#subfields_data>=0) {
                       my %tag_data;
-                      $tag_data{tag}=$field->tag(). ' '  
-                                     . C4::Koha::display_marc_indicators($field) 
-                                     . ' - '
-                                     . $tagslib->{$field->tag()}->{lib};
+                      $tag_data{tag_number} = $tag;
+                      $tag_data{tag_desc} = $tagslib->{$field->tag()}->{lib};
                       $tag_data{subfield} = \@subfields_data;
+                      my $indicators = C4::Koha::display_marc_indicators($field);
+                      if ( $indicators ) {
+                          $tag_data{ind1} = substr $indicators, 0, 1;
+                          $tag_data{ind2} = substr $indicators, 1, 1;
+                      }
+
                       push (@loop_data, \%tag_data);
                     }
                   }
@@ -160,7 +163,7 @@ sub build_tabs {
 
 
 # 
-my $query=new CGI;
+my $query=CGI->new;
 
 my $dbh=C4::Context->dbh;
 
@@ -170,9 +173,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user(
         template_name   => "authorities/detail.tt",
         query           => $query,
         type            => "intranet",
-        authnotrequired => 0,
         flagsrequired   => { catalogue => 1 },
-        debug           => 1,
     }
 );
 
@@ -183,7 +184,7 @@ my $authtypecode = $authobj ? $authobj->authtypecode : q{};
 $tagslib = &GetTagsLabels(1,$authtypecode);
 
 # Build list of authtypes for showing them
-my $authority_types = Koha::Authority::Types->search({}, { order_by => ['authtypecode']});
+my $authority_types = Koha::Authority::Types->search({}, { order_by => ['authtypetext']});
 
 my $record=GetAuthority($authid);
 
@@ -201,7 +202,7 @@ if (C4::Context->preference("AuthDisplayHierarchy")){
     $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid);
 }
 
-my $count = CountUsage($authid);
+my $count = $authobj ? $authobj->get_usage_count : 0;
 
 # find the marc field/subfield used in biblio by this authority
 my $sth = $dbh->prepare("select distinct tagfield from marc_subfield_structure where authtypecode=?");
@@ -214,6 +215,13 @@ chop $biblio_fields if $biblio_fields;
 
 build_tabs ($template, $record, $dbh,"",$query);
 
+my $servers = Koha::Z3950Servers->search(
+    {
+        recordtype => 'authority',
+        servertype => ['zed', 'sru'],
+    },
+);
+
 my $type = $authority_types->find($authtypecode);
 $template->param(
     authid          => $authid,
@@ -223,6 +231,7 @@ $template->param(
     authtypecode    => $authtypecode,
     authority_types => $authority_types,
     csrf_token      => Koha::Token->new->generate_csrf({ session_id => scalar $query->cookie('CGISESSID') }),
+    servers => $servers,
 );
 
 $template->{VARS}->{marcflavour} = C4::Context->preference("marcflavour");