From 318b89a1978dba3670dafc531e638da7b0012de7 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Sat, 21 Mar 2015 12:27:04 -0400 Subject: [PATCH] Bug 7369 - duplicate item This patch adds a link to duplicate existing items on the edit items screen To test: 1 - Apply patch 2 - navigate to the edit items screen for a record with existing items 3 - click the duplicate link and ensure item info but not barcode are carried over 4 - save the item and ensure it is added correctly 5 - check that all previous functionality on page works as before --- cataloguing/additem.pl | 18 ++++++++++++++++++ .../prog/en/modules/cataloguing/additem.tt | 1 + 2 files changed, 19 insertions(+) diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 6ff3bbd..1324341 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -566,6 +566,24 @@ if ($op eq "additem") { $itemrecord = C4::Items::GetMarcItem($biblionumber,$itemnumber); $nextop = "saveitem"; #------------------------------------------------------------------------------- +} elsif ($op eq "dupeitem") { +#------------------------------------------------------------------------------- +# retrieve item if exist => then, it's a modif + $itemrecord = C4::Items::GetMarcItem($biblionumber,$itemnumber); + if (C4::Context->preference('autoBarcode') eq 'incremental') { + $itemrecord = _increment_barcode($itemrecord, $frameworkcode); + } + else { + # we have to clear the barcode field in the duplicate item record to make way for the new one generated by the javascript plugin + my ($tagfield,$tagsubfield) = &GetMarcFromKohaField("items.barcode",$frameworkcode); + my $fieldItem = $itemrecord->field($tagfield); + $itemrecord->delete_field($fieldItem); + $fieldItem->delete_subfields($tagsubfield); + $itemrecord->insert_fields_ordered($fieldItem); + } + $itemrecord = removeFieldsForPrefill($itemrecord) if ($prefillitem); + $nextop = "additem"; +#------------------------------------------------------------------------------- } elsif ($op eq "delitem") { #------------------------------------------------------------------------------- # check that there is no issue on this item before deletion. diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt index 9cdc1cf..72bd648 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt @@ -181,6 +181,7 @@ $(document).ready(function() { Edit in host   Delink [% ELSE %] Edit +Duplicate [% IF ( item_loo.countanalytics ) %] View analytics [% ELSE %] -- 1.7.10.4