From e367915a64f2a51bc50de7fb38f278f4c37bf004 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatetsolutions.com>
Date: Tue, 3 Apr 2018 06:35:01 -0400
Subject: [PATCH] Bug 20467: (QA follow-up)  Filter barcodes, remove selector
 code, use template plugins

Removes selector code as batch changes cannot have a previous selection.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
---
 course_reserves/batch_add_items.pl                 | 15 +++-------
 .../en/modules/course_reserves/batch_add_items.tt  | 35 +++++++---------------
 2 files changed, 14 insertions(+), 36 deletions(-)

diff --git a/course_reserves/batch_add_items.pl b/course_reserves/batch_add_items.pl
index 04ce037..db5f725 100755
--- a/course_reserves/batch_add_items.pl
+++ b/course_reserves/batch_add_items.pl
@@ -20,7 +20,8 @@
 
 use Modern::Perl;
 
-use CGI qw ( -utf8 );
+use CGI qw( -utf8 );
+use List::MoreUtils qw( uniq );
 
 use C4::Auth;
 use C4::Output;
@@ -56,18 +57,10 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 $template->param( course => GetCourse($course_id) );
 
 if ( !$action ) {
-
-    my $itemtypes = Koha::ItemTypes->search;
-    $template->param(
-        action    => 'display_form',
-        ccodes    => GetAuthorisedValues('CCODE'),
-        locations => GetAuthorisedValues('LOC'),
-        itypes    => $itemtypes,
-    );
-
+    $template->param( action => 'display_form' );
 }
 elsif ( $action eq 'add' ) {
-    my @barcodes = split( "\r\n", $barcodes );
+    my @barcodes = uniq( split( /\s\n/, $barcodes ) );
 
     my @items;
     my @invalid_barcodes;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/batch_add_items.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/batch_add_items.tt
index cb8ca49..9ebe71d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/batch_add_items.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/batch_add_items.tt
@@ -1,4 +1,7 @@
+[% USE AuthorisedValues %]
 [% USE Branches %]
+[% USE ItemTypes %]
+
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Course reserves &rsaquo; Add items</title>
 [% INCLUDE 'doc-head-close.inc' %]
@@ -32,12 +35,8 @@
                             <select id="itype" name="itype">
                                 <option value="">LEAVE UNCHANGED</option>
 
-                                [% FOREACH it IN itypes %]
-                                    [% IF course_item.itype && ( ( course.enabled == 'yes' && it.itemtype == item.itype ) || ( course.enabled == 'no' && it.itemtype == course_item.itype ) ) %]
-                                        <option value="[% it.itemtype %]" selected="selected">[% it.description %]</option>
-                                    [% ELSE %]
-                                        <option value="[% it.itemtype %]">[% it.description %]</option>
-                                    [% END %]
+                                [% FOREACH it IN ItemTypes.Get() %]
+                                    <option value="[% it.itemtype %]">[% it.description %]</option>
                                 [% END %]
                             </select>
                         </li>
@@ -47,13 +46,8 @@
                             <label class="required" for="ccode">Collection code:</label>
                             <select id="ccode" name="ccode">
                                 <option value="">LEAVE UNCHANGED</option>
-
-                                [% FOREACH c IN ccodes %]
-                                    [% IF course_item.ccode && ( ( course.enabled == 'yes' && c.authorised_value == item.ccode ) || ( course.enabled == 'no' && c.authorised_value == course_item.ccode ) ) %]
-                                        <option value="[% c.authorised_value %]" selected="selected">[% c.lib %]</option>
-                                    [% ELSE %]
-                                        <option value="[% c.authorised_value %]">[% c.lib %]</option>
-                                    [% END %]
+                                [% FOREACH c IN AuthorisedValues.Get('CCODE') %]
+                                    <option value="[% c.authorised_value %]">[% c.lib %]</option>
                                 [% END %]
                             </select>
                         </li>
@@ -62,13 +56,8 @@
                             <label class="required" for="location">Shelving location:</label>
                             <select id="location" name="location">
                                 <option value="">LEAVE UNCHANGED</option>
-
-                                [% FOREACH s IN locations %]
-                                    [% IF course_item.location && ( ( course.enabled == 'yes' && s.authorised_value == item.location ) || ( course.enabled == 'no' && s.authorised_value == course_item.location ) ) %]
-                                        <option value="[% s.authorised_value %]" selected="selected">[% s.lib %]</option>
-                                    [% ELSE %]
-                                        <option value="[% s.authorised_value %]">[% s.lib %]</option>
-                                    [% END %]
+                                [% FOREACH s IN AuthorisedValues.Get('LOC') %]
+                                    <option value="[% s.authorised_value %]">[% s.lib %]</option>
                                 [% END %]
                             </select>
                         </li>
@@ -78,11 +67,7 @@
                             <select id="holdingbranch" name="holdingbranch">
                                 <option value="">LEAVE UNCHANGED</option>
                                 [% FOREACH b IN Branches.all() %]
-                                    [% IF course_item.holdingbranch && ( ( course.enabled == 'yes' && b.value == item.holdingbranch ) || ( course.enabled == 'no' && b.value == course_item.holdingbranch ) ) %]
-                                        <option value="[% b.branchcode %]" selected="selected">[% b.branchname %]</option>
-                                    [% ELSE %]
-                                        <option value="[% b.branchcode %]">[% b.branchname %]</option>
-                                    [% END %]
+                                    <option value="[% b.branchcode %]">[% b.branchname %]</option>
                                 [% END %]
                             </select>
                         </li>
-- 
2.1.4