Bug 17048: Fix pagination offset for authority searches
[koha.git] / authorities / detail.pl
index 3f5018c..1ba280d 100755 (executable)
@@ -4,18 +4,18 @@
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 =head1 NAME
 
@@ -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;