@@ -, +, @@
---
cataloguing/additem.pl | 34 ++++++++++++++++++++++
.../prog/en/modules/cataloguing/additem.tt | 1 +
2 files changed, 35 insertions(+)
--- a/cataloguing/additem.pl
+++ a/cataloguing/additem.pl
@@ -566,6 +566,40 @@ 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);
+ }
+
+ #check for hidden subfield and remove them for the duplicated item
+ foreach my $field ($itemrecord->fields()){
+ my $tag = $field->{_tag};
+ foreach my $subfield ($field->subfields()){
+ my $subfieldtag = $subfield->[0];
+ if (subfield_is_koha_internal_p($subfieldtag) || $tagslib->{$tag}->{$subfieldtag}->{'tab'} ne "10"
+ || abs($tagslib->{$tag}->{$subfieldtag}->{hidden})>4 ){
+ my $fieldItem = $itemrecord->field($tag);
+ $itemrecord->delete_field($fieldItem);
+ $fieldItem->delete_subfields($subfieldtag);
+ $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.
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
+++ a/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 %]
--