From f237ef71ed0faec078bbbd2b2f2868d5a393a3ea Mon Sep 17 00:00:00 2001 From: simith Date: Fri, 6 Mar 2015 14:12:08 -0500 Subject: [PATCH] [Signed-off] Bug 13364 - Add a call number browser in item edition page - QA fixed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tested together with other patches. Signed-off-by: Marc VĂ©ron --- cataloguing/value_builder/cn_browser.pl | 27 +++++++++----------- .../value_builder}/cn_browser.tt | 2 +- 2 files changed, 13 insertions(+), 16 deletions(-) rename koha-tmpl/intranet-tmpl/prog/en/modules/{tools => cataloguing/value_builder}/cn_browser.tt (97%) diff --git a/cataloguing/value_builder/cn_browser.pl b/cataloguing/value_builder/cn_browser.pl index a6ece26..4e342e2 100755 --- a/cataloguing/value_builder/cn_browser.pl +++ b/cataloguing/value_builder/cn_browser.pl @@ -1,16 +1,9 @@ -#!/usr/bin/perl - -use strict; -use warnings; +use Modern::Perl; no warnings 'redefine'; use CGI; use C4::Auth; -use C4::Output; -use POSIX; use C4::ClassSource; -use URI::Escape; -use Data::Dumper; sub plugin_parameters { my ($dbh,$record,$tagslib,$i,$tabloop) = @_; @@ -45,16 +38,15 @@ function Clic$function_name(i) { return ($function_name,$res); } - sub plugin { - my ($input) = @_; + my ($input) = @_; my $cgi = new CGI; my $params = $cgi->Vars; my $results_per_page = 30; my $current_page = $cgi->param('page') || 1; my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ - template_name => "tools/cn_browser.tt", + template_name => "cataloguing/value_builder/cn_browser.tt", query => $cgi, type => "intranet", authnotrequired => 0, @@ -63,7 +55,7 @@ sub plugin { my $cn_sort; - my $dbh = C4::Context->dbh; + my $dbh = C4::Context->dbh; my $sth; my @cn; my $query; @@ -71,6 +63,7 @@ sub plugin { my $rows_lt = 999; my $rows_gt = 999; my $search; + my $globalGreen=0; my $lt = ''; my $gt = ''; my $q; @@ -95,6 +88,7 @@ sub plugin { my $red = 0; if ($search ne $gt) { my $green = 0; + #Results before the cn_sort $query = "SELECT b.title, itemcallnumber, biblionumber, barcode, cn_sort, branchname, author FROM items AS i @@ -111,9 +105,10 @@ sub plugin { $data->{background} = 'red'; $red = 1; } - elsif (($data->{cn_sort} lt $cn_sort_q) && !$green && !$red) { + elsif ((GetClassSort(undef, undef, $data->{itemcallnumber}) lt $cn_sort_q) && !$green && !$red) { if ($#cn != -1) { unshift @cn, {'background' => 'green'}; + $globalGreen = 1; } $green = 1; } @@ -136,19 +131,21 @@ sub plugin { LIMIT $real_limit"; $sth = $dbh->prepare($query); $sth->execute(); + while ( my $data = $sth->fetchrow_hashref ) { if ($data->{itemcallnumber} eq $q) { $data->{background} = 'red'; $red = 1; } - elsif (($data->{cn_sort} gt $cn_sort_q) && !$green && !$red) { + elsif ((GetClassSort(undef, undef, $data->{itemcallnumber}) gt $cn_sort_q) && !$green && !$red && !$globalGreen) { push @cn, {'background' => 'green'}; $green = 1; } push @cn, $data; } $rows_gt = $sth->rows; - if ($rows_gt == 0 && !$green && !$red){ + + if (!$green && !$red && !$globalGreen){ push @cn, {'background' => 'green'}; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/cn_browser.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/cn_browser.tt similarity index 97% rename from koha-tmpl/intranet-tmpl/prog/en/modules/tools/cn_browser.tt rename to koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/cn_browser.tt index 93eddc8..0368bc2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/cn_browser.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/cn_browser.tt @@ -13,7 +13,7 @@