From 87e311b6484ce5a8482f88139f7352dc10329bc7 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 22 Apr 2015 13:56:28 +0200 Subject: [PATCH] Bug 14042: Get rid of the home made pagination in the auth type admin This patch removes the home made pagination and introduces datatables on this page. Test plan: Go to the authority type admin page and confirm there is a beautiful table. --- admin/authtypes.pl | 32 ++++++---------------- .../prog/en/modules/admin/authtypes.tt | 24 ++++++++++++---- 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/admin/authtypes.pl b/admin/authtypes.pl index 3a3efed..23e9d29 100755 --- a/admin/authtypes.pl +++ b/admin/authtypes.pl @@ -26,18 +26,20 @@ use C4::Auth; use C4::Output; sub StringSearch { - my $sth = C4::Context->dbh->prepare("SELECT * FROM auth_types WHERE (authtypecode like ?) ORDER BY authtypecode"); - $sth->execute((shift || '') . "%"); - return $sth->fetchall_arrayref({}); + my $string = shift || ''; + my $dbh = C4::Context->dbh; + return $dbh->selectall_arrayref(q| + SELECT authtypecode, authtypetext, auth_tag_to_report, summary + FROM auth_types + WHERE (authtypecode like ?) ORDER BY authtypecode + |, { Slice => {} }, $string . "%" ); } my $input = new CGI; my $script_name = "/cgi-bin/koha/admin/authtypes.pl"; my $searchfield = $input->param('authtypecode'); # FIXME: Auth Type search not really implemented my $authtypecode = $input->param('authtypecode'); -my $offset = $input->param('offset') || 0; my $op = $input->param('op') || ''; -my $pagesize = 20; my ($template, $borrowernumber, $cookie) = get_template_and_user({template_name => "admin/authtypes.tt", query => $input, @@ -108,24 +110,6 @@ if ($op eq 'add_form') { ################## DEFAULT ################################## } else { # DEFAULT my $results = StringSearch($searchfield); - my $count = scalar @$results; - my @loop_data; - for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){ - push @loop_data, { - authtypecode => $results->[$i]{'authtypecode'}, - authtypetext => $results->[$i]{'authtypetext'}, - auth_tag_to_report => $results->[$i]{'auth_tag_to_report'}, - summary => $results->[$i]{'summary'}, - }; - } - $template->param(loop => \@loop_data); - if ($offset>0) { - my $prevpage = $offset-$pagesize; - $template->param(previous => "$script_name?offset=".$prevpage); - } - if ($offset+$pagesize<$count) { - my $nextpage = $offset+$pagesize; - $template->param(next => "$script_name?offset=".$nextpage); - } + $template->param( loop => $results ); } #---- END $OP eq DEFAULT output_html_with_http_headers $input, $cookie, $template->output; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt index 4815d69..40238a3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authtypes.tt @@ -7,6 +7,20 @@ [% END %] [% INCLUDE 'doc-head-close.inc' %] + +[% INCLUDE 'datatables.inc' %] + @@ -96,7 +110,8 @@

Authority types

Define authority types, then authority MARC structure in the same way you define itemtypes and biblio MARC tag structure. Authority values are managed through plugins

- +
+ @@ -106,7 +121,8 @@ - + + [% FOREACH loo IN loop %] @@ -118,11 +134,9 @@ [% END %] +
Code DescriptionEdit Delete
[% loo.authtypecode %]Delete
- [% IF ( previous ) %]

<< Previous

[% END %] - [% IF ( next ) %]

Next >>

[% END %] - [% END %] -- 2.1.0