Bug 10382: collection not returning to null when removed from course reserves
authorKyle M Hall <kyle@bywatersolutions.com>
Wed, 5 Jun 2013 14:01:17 +0000 (10:01 -0400)
committerNick Clemens <nick@bywatersolutions.com>
Mon, 15 Oct 2018 12:44:49 +0000 (12:44 +0000)
Test Plan:
1) Create an item, do not set a collection code
2) Add the item to a course, and choose to set a collection code
3) Ensure the course is enabled, and the collection code is now visible
4) Disable the course, ensure the collection code is no longer visible

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
C4/CourseReserves.pm
koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/add_items-step2.tt
koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt

index 2b1ef02..a6ee227 100644 (file)
@@ -604,7 +604,7 @@ sub _ModStoredFields {
     my ( @fields_to_update, @values_to_update );
 
     foreach (@FIELDS) {
-        if ( $params{$_} ) {
+        if ( defined($params{$_}) ) {
             push( @fields_to_update, $_ );
             push( @values_to_update, $params{$_} );
         }
@@ -670,9 +670,9 @@ sub _SwapAllFields {
     my %course_item_fields;
     my %item_fields;
     foreach (@FIELDS) {
-        if ( $course_item->{$_} ) {
+        if ( defined( $course_item->{$_} ) ) {
             $course_item_fields{$_} = $course_item->{$_};
-            $item_fields{$_}        = $item->{$_};
+            $item_fields{$_}        = $item->{$_} || q{};
         }
     }
 
index 02a531c..0d9359e 100644 (file)
@@ -39,7 +39,7 @@
                             <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 ) ) %]
+                                [% IF course_item.itype.defined && ( ( course.enabled == 'yes' && it.itemtype == item.itype ) || ( course.enabled == 'no' && it.itemtype == course_item.itype ) ) %]
                                     <option value="[% it.itemtype | html %]" selected="selected">[% it.description | html %]</option>
                                 [% ELSE %]
                                     <option value="[% it.itemtype | html %]">[% it.description | html %]</option>
@@ -55,7 +55,7 @@
                             <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 ) ) %]
+                                [% IF course_item.ccode.defined && ( ( course.enabled == 'yes' && c.authorised_value == item.ccode ) || ( course.enabled == 'no' && c.authorised_value == course_item.ccode ) ) %]
                                     <option value="[% c.authorised_value | html %]" selected="selected">[% c.lib | html %]</option>
                                 [% ELSE %]
                                     <option value="[% c.authorised_value | html %]">[% c.lib | html %]</option>
@@ -70,7 +70,7 @@
                             <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 ) ) %]
+                                [% IF course_item.location.defined && ( ( course.enabled == 'yes' && s.authorised_value == item.location ) || ( course.enabled == 'no' && s.authorised_value == course_item.location ) ) %]
                                     <option value="[% s.authorised_value | html %]" selected="selected">[% s.lib | html %]</option>
                                 [% ELSE %]
                                     <option value="[% s.authorised_value | html %]">[% s.lib | html %]</option>
@@ -84,7 +84,7 @@
                         <select id="holdingbranch" name="holdingbranch">
                             <option value="">LEAVE UNCHANGED</option>
                             [% FOREACH b IN Branches.all() %]
-                                [% IF course_item.holdingbranch && ( ( course.enabled == 'yes' && b.branchcode == item.holdingbranch ) || ( course.enabled == 'no' && b.branchcode == course_item.holdingbranch ) ) %]
+                                [% IF course_item.holdingbranch.defined && ( ( course.enabled == 'yes' && b.value == item.holdingbranch ) || ( course.enabled == 'no' && b.value == course_item.holdingbranch ) ) %]
                                     <option value="[% b.branchcode | html %]" selected="selected">[% b.branchname | html %]</option>
                                 [% ELSE %]
                                     <option value="[% b.branchcode | html %]">[% b.branchname | html %]</option>
index f43eb90..f762e6c 100644 (file)
@@ -84,7 +84,7 @@
                             <td>[% cr.item.itemcallnumber | html %]</td>
                             [% IF item_level_itypes %]
                             <td>
-                                [% IF cr.course_item.itype %]
+                                [% IF cr.course_item.itype.defined %]
                                     [% IF cr.course_item.enabled == 'yes' %]
                                         [% ItemTypes.GetDescription( cr.item.itype ) | html %]
                                     [% ELSE %]
@@ -99,7 +99,7 @@
                             </td>
                             [% END %]
                             <td>
-                                 [% IF cr.course_item.ccode %]
+                                 [% IF cr.course_item.ccode.defined %]
                                      [% IF cr.course_item.enabled == 'yes' %]
                                           [% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) | html %]
                                      [% ELSE %]
                                  [% END %]
                             </td>
                             <td>
-                                [% IF cr.course_item.location %]
+                                [% IF cr.course_item.location.defined %]
                                      [% IF cr.course_item.enabled == 'yes' %]
                                          [% AuthorisedValues.GetByCode( 'LOC', cr.item.location ) | html %]
                                     [% ELSE %]
                                 [% END %]
                             </td>
                             <td>
-                                [% IF cr.course_item.holdingbranch %]
+                                [% IF cr.course_item.holdingbranch.defined %]
                                     [% IF cr.course_item.enabled == 'yes' %]
                                         [% Branches.GetName( cr.item.holdingbranch ) | html %]
                                     [% ELSE %]