Bug 12478: allow more granular sorting configuration
[koha.git] / authorities / detail.pl
index 49c575d..1ba280d 100755 (executable)
@@ -47,6 +47,9 @@ use C4::Output;
 use CGI qw ( -utf8 );
 use MARC::Record;
 use C4::Koha;
+use Koha::Authorities;
+
+use Koha::Authority::Types;
 
 our ($tagslib);
 
@@ -174,20 +177,11 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user(
 
 my $authid = $query->param('authid');
 
-my $authtypecode = GetAuthTypeCode($authid);
+my $authtypecode = Koha::Authorities->find($authid)->authtypecode;
 $tagslib = &GetTagsLabels(1,$authtypecode);
 
 # Build list of authtypes for showing them
-my $authtypes = getauthtypes;
-my @authtypesloop;
-
-foreach my $thisauthtype (sort { $authtypes->{$b} cmp $authtypes->{$a} } keys %$authtypes) {
-    my %row =(value => $thisauthtype,
-                selected => $thisauthtype eq $authtypecode,
-                authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
-            );
-    push @authtypesloop, \%row;
-}
+my $authority_types = Koha::Authority::Types->search({}, { order_by => ['authtypecode']});
 
 my $record=GetAuthority($authid);
 
@@ -195,7 +189,7 @@ if (not defined $record) {
     # authid invalid
     $template->param ( errauthid => $authid,
                        unknownauthid => 1,
-                       authtypesloop => \@authtypesloop );
+                       authority_types => $authority_types, );
     output_html_with_http_headers $query, $cookie, $template->output;
     exit;
 }
@@ -218,12 +212,14 @@ chop $biblio_fields;
 
 build_tabs ($template, $record, $dbh,"",$query);
 
-$template->param(authid => $authid,
-               count => $count,
-               biblio_fields => $biblio_fields,
-               authtypetext => $authtypes->{$authtypecode}{'authtypetext'},
-               authtypesloop => \@authtypesloop,
-               );
+$template->param(
+    authid          => $authid,
+    count           => $count,
+    biblio_fields   => $biblio_fields,
+    authtypetext    => $authority_types->find($authtypecode)->authtypetext,
+    authtypecode    => $authtypecode,
+    authority_types => $authority_types,
+);
 
 $template->{VARS}->{marcflavour} = C4::Context->preference("marcflavour");
 output_html_with_http_headers $query, $cookie, $template->output;