Bug 13648: OPAC = hidden removes pull down from edit item form
authorKatrin Fischer <Katrin.Fischer.83@web.de>
Sun, 8 Feb 2015 20:57:26 +0000 (21:57 +0100)
committerMason James <mtj@kohaaloha.com>
Fri, 27 Mar 2015 03:32:47 +0000 (16:32 +1300)
If you uncheck the checkbox OPAC in the bibliographic framework
definition for an item subfield that is linked to an authorized
value list, the pull down will disappear from the item edit
form on staff. The label still shows.

1) Go to administration > bibliographic frameworks
2) Select a framework and go to the item field (MARC21: 952)
3) Edit a subfield with an authorized values list like damaged,
   lost or withdrawn
4) Uncheck the checkbox for OPAC visibility
5) Edit or add an item within your chosen framework
6) Verify the subfield code and description are shown, but the
   pull down has disappeared
7) Apply patch, verify the pull down shows now
8) Also test following hidden combination works correctly:
   OPAC: checked
   All other options: unchecked

Documentation of hidden values:
http://wiki.koha-community.org/wiki/Hidden_values

With special thanks to Jonathan Druart for helping me figure this out!

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>

cataloguing/additem.pl

index 5912458..e0dd391 100755 (executable)
@@ -135,7 +135,7 @@ sub generate_subfield_form {
             $value =~ s/DD/$day/g;
         }
         
-        $subfield_data{visibility} = "display:none;" if (($subfieldlib->{hidden} > 4) || ($subfieldlib->{hidden} < -4));
+        $subfield_data{visibility} = "display:none;" if (($subfieldlib->{hidden} > 4) || ($subfieldlib->{hidden} <= -4));
         
         my $pref_itemcallnumber = C4::Context->preference('itemcallnumber');
         if (!$value && $subfieldlib->{kohafield} eq 'items.itemcallnumber' && $pref_itemcallnumber) {
@@ -212,7 +212,7 @@ sub generate_subfield_form {
                   }
             }
 
-            if ($subfieldlib->{'hidden'}) {
+            if ( $subfieldlib->{hidden} > 4 or $subfieldlib->{hidden} <= -4 ) {
                 $subfield_data{marc_value} = qq(<input type="hidden" $attributes /> $authorised_lib{$value});
             }
             else {