From 681215be89e22e8d70e966e9d1213def151428b6 Mon Sep 17 00:00:00 2001 From: Kyle Hall Date: Tue, 14 Feb 2023 08:51:13 -0500 Subject: [PATCH] Bug 32959: Don't store results of autobarcode in item editor templates Test Plan: 1) Enable autobarcode 2) Create a new item template, leave the barcode field blank 3) Apply that item template 4) Note the template prefills the barcode field 5) Delete that item template 6) Apply this patch 7) Restart all the things! 8) Repeat steps 2-4 9) Note the barcode field remains empty! Signed-off-by: Phil Ringnalda Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 47b2b4f15a9f2355ddbb205afd6649eccd04334d) Signed-off-by: Matt Blenkinsop --- cataloguing/additem.pl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 80a435d6f3..ca8baa64d9 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -268,6 +268,7 @@ if ($op eq "additem") { } # if autoBarcode is set to 'incremental', calculate barcode... + my $submitted_barcode = $item->barcode; if ( ! defined $item->barcode && C4::Context->preference('autoBarcode') eq 'incremental' ) { my ( $barcode ) = C4::Barcodes::ValueBuilder::incremental::get_barcode; $item->barcode($barcode); @@ -280,13 +281,16 @@ if ($op eq "additem") { my $template_is_shared = $input->param('template_is_shared'); my $replace_template_id = $input->param('replace_template_id'); + my $contents = $item->unblessed; + $contents->{barcode} = $submitted_barcode; # Don't save the autobarcode in the template + if ($replace_template_id) { my $template = Koha::Item::Templates->find($replace_template_id); $template->update( { id => $replace_template_id, is_shared => $template_is_shared ? 1 : 0, - contents => $item->unblessed, + contents => $contents, } ) if $template && ( $template->patron_id eq $loggedinuser @@ -300,7 +304,7 @@ if ($op eq "additem") { name => $template_name, patron_id => $loggedinuser, is_shared => $template_is_shared ? 1 : 0, - contents => $item->unblessed, + contents => $contents, } )->store(); } -- 2.20.1