+} 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 ($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";
+#-------------------------------------------------------------------------------