Bug 14385: Extend OpacHiddenItems to allow specifying exempt borrower categories
[koha.git] / cataloguing / additem.pl
index f66c000..6af351d 100755 (executable)
@@ -179,7 +179,7 @@ sub generate_subfield_form {
                 }
             }
             elsif ( $subfieldlib->{authorised_value} eq "itemtypes" ) {
-                  push @authorised_values, "" unless ( $subfieldlib->{mandatory} );
+                  push @authorised_values, "";
                   my $itemtypes = Koha::ItemTypes->search_with_localization;
                   while ( my $itemtype = $itemtypes->next ) {
                       push @authorised_values, $itemtype->itemtype;
@@ -195,7 +195,7 @@ sub generate_subfield_form {
                   #---- class_sources
             }
             elsif ( $subfieldlib->{authorised_value} eq "cn_source" ) {
-                  push @authorised_values, "" unless ( $subfieldlib->{mandatory} );
+                  push @authorised_values, "";
                     
                   my $class_sources = GetClassSources();
                   my $default_source = C4::Context->preference("DefaultClassificationSource");
@@ -212,7 +212,7 @@ sub generate_subfield_form {
                   #---- "true" authorised value
             }
             else {
-                  push @authorised_values, qq{} unless ( $subfieldlib->{mandatory} );
+                  push @authorised_values, qq{};
                   my $av = GetAuthorisedValues( $subfieldlib->{authorised_value} );
                   for my $r ( @$av ) {
                       push @authorised_values, $r->{authorised_value};
@@ -224,7 +224,7 @@ sub generate_subfield_form {
                 $subfield_data{marc_value} = {
                     type        => 'hidden',
                     id          => $subfield_data{id},
-                    maxlength   => $subfield_data{max_length},
+                    maxlength   => $subfield_data{maxlength},
                     value       => $value,
                 };
             }
@@ -243,7 +243,7 @@ sub generate_subfield_form {
                 $subfield_data{marc_value} = {
                     type         => 'text_auth',
                     id           => $subfield_data{id},
-                    maxlength    => $subfield_data{max_length},
+                    maxlength    => $subfield_data{maxlength},
                     value        => $value,
                     authtypecode => $subfieldlib->{authtypecode},
                 };
@@ -263,7 +263,7 @@ sub generate_subfield_form {
                 $subfield_data{marc_value} = {
                     type        => 'text_plugin',
                     id          => $subfield_data{id},
-                    maxlength   => $subfield_data{max_length},
+                    maxlength   => $subfield_data{maxlength},
                     value       => $value,
                     class       => $class,
                     nopopup     => $plugin->noclick,
@@ -274,7 +274,7 @@ sub generate_subfield_form {
                 $subfield_data{marc_value} = {
                     type        => 'text',
                     id          => $subfield_data{id},
-                    maxlength   => $subfield_data{max_length},
+                    maxlength   => $subfield_data{maxlength},
                     value       => $value,
                 }; # supply default input form
             }
@@ -283,7 +283,7 @@ sub generate_subfield_form {
             $subfield_data{marc_value} = {
                 type        => 'hidden',
                 id          => $subfield_data{id},
-                maxlength   => $subfield_data{max_length},
+                maxlength   => $subfield_data{maxlength},
                 value       => $value,
             };
         }
@@ -291,7 +291,7 @@ sub generate_subfield_form {
             $subfield_data{marc_value} = {
                 type        => 'text',
                 id          => $subfield_data{id},
-                maxlength   => $subfield_data{max_length},
+                maxlength   => $subfield_data{maxlength},
                 value       => $value,
             };
         }
@@ -319,7 +319,7 @@ sub generate_subfield_form {
             $subfield_data{marc_value} = {
                 type        => 'text',
                 id          => $subfield_data{id},
-                maxlength   => $subfield_data{max_length},
+                maxlength   => $subfield_data{maxlength},
                 value       => $value,
             };
         }
@@ -652,8 +652,8 @@ if ($op eq "additem") {
 #-------------------------------------------------------------------------------
 } elsif ($op eq "delallitems") {
 #-------------------------------------------------------------------------------
-    my $itemnumbers = C4::Items::GetItemnumbersForBiblio( $biblionumber );
-    foreach my $itemnumber ( @$itemnumbers ) {
+    my @itemnumbers = Koha::Items->search({ biblionumber => $biblionumber })->get_column('itemnumber');
+    foreach my $itemnumber ( @itemnumbers ) {
         $error = C4::Items::DelItemCheck( $biblionumber, $itemnumber );
         next if $error == 1; # Means ok
         push @errors,$error;
@@ -903,6 +903,8 @@ foreach my $tag ( keys %{$tagslib}){
 }
 @loop_data = sort {$a->{subfield} cmp $b->{subfield} } @loop_data;
 
+my $item = Koha::Items->find($itemnumber); # We certainly want to fetch it earlier
+
 # what's the next op ? it's what we are not in : an add if we're editing, otherwise, and edit.
 $template->param(
     biblionumber => $biblionumber,
@@ -912,7 +914,7 @@ $template->param(
     item_header_loop => \@header_value_loop,
     item             => \@loop_data,
     itemnumber       => $itemnumber,
-    barcode          => GetBarcodeFromItemnumber($itemnumber),
+    barcode          => $item ? $item->barcode : undef,
     itemtagfield     => $itemtagfield,
     itemtagsubfield  => $itemtagsubfield,
     op      => $nextop,