Bug 8603: Patron card creator - 'Barcode Type' doesn't stick in layouts
authorMarc Véron <veron@veron.ch>
Sat, 11 Mar 2017 16:18:10 +0000 (17:18 +0100)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Wed, 22 Mar 2017 20:56:46 +0000 (20:56 +0000)
To reproduce:

1. Make a new layout
2. Tick "Print card number as barcode"
3. Change 'Barcode Type' to anything other than Code39
4. Save
5. Edit it again
6. Its back to Code39

To test:
1. Apply patch
2. Repeat steps above
3. Verify that 'Barcode type' is selected as expected

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

https://bugs.koha-community.org/show_bug.cgi?id=18063

https://bugs.koha-community.org/show_bug.cgi?id=8063

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>

patroncards/edit-layout.pl

index 5d5d2df..81df878 100755 (executable)
@@ -140,7 +140,7 @@ if ($op eq 'edit') {
 #   Handle barcodes...
     my @barcode = ();
     foreach my $barcode_param (keys %{$layout_xml->{'barcode'}->[0]}) {
-        push @barcode, (($barcode_param eq 'type' ? ("barcode_" . $barcode_param => _set_selected($layout_xml->{'barcode'}->[0]->{'barcode_type'}, $barcode_types)) : ("barcode_" . $barcode_param => $layout_xml->{'barcode'}->[0]->{$barcode_param})));
+        push @barcode, (($barcode_param eq 'type' ? ("barcode_" . $barcode_param => _set_selected($layout_xml->{'barcode'}->[0]->{'type'}, $barcode_types)) : ("barcode_" . $barcode_param => $layout_xml->{'barcode'}->[0]->{$barcode_param})));
     }
 
     foreach my $unit (@$units){
@@ -156,7 +156,7 @@ if ($op eq 'edit') {
             guide_box       => $layout_xml->{'guide_box'},
             units           => $units,
             @barcode,
-            barcode_type    => get_barcode_types(),
+            barcode_type    => _set_selected($layout_xml->{'barcode'}->[0]->{'type'}, $barcode_types),
             @text_fields,
             @images,
             guidebox        => 0,