MT 2073 : Allow to have non-editable fields for item batch modification
authorMatthias Meusburger <matthias.meusburger@biblibre.com>
Tue, 27 Oct 2009 08:58:35 +0000 (09:58 +0100)
committerMatthias Meusburger <matthias.meusburger@biblibre.com>
Tue, 27 Oct 2009 08:58:35 +0000 (09:58 +0100)
koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tmpl
tools/batchMod.pl

index 077d565..62c4f29 100644 (file)
@@ -84,9 +84,9 @@
                      <!-- TMPL_IF name="mandatory" --> *</b><!-- /TMPL_IF -->
               </label>
                 <!-- TMPL_VAR NAME="marc_value" -->
-                <input type="hidden" name="tag"       value="<!-- TMPL_VAR NAME="tag" -->" />
-                <input type="hidden" name="subfield"  value="<!-- TMPL_VAR NAME="subfield" -->" />
-                <input type="hidden" name="mandatory" value="<!-- TMPL_VAR NAME="mandatory" -->" />
+                <!-- TMPL_IF NAME="tag" --><input type="hidden" name="tag"       value="<!-- TMPL_VAR NAME="tag" -->" /><!-- /TMPL_IF -->
+                <!-- TMPL_IF NAME="subfield" --><input type="hidden" name="subfield"       value="<!-- TMPL_VAR NAME="subfield" -->" /><!-- /TMPL_IF -->
+                <!-- TMPL_IF NAME="mandatory" --><input type="hidden" name="mandatory"       value="<!-- TMPL_VAR NAME="mandatory" -->" /><!-- /TMPL_IF -->
                 <!-- TMPL_IF NAME="repeatable" -->
                     <span class="buttonPlus" onclick="CloneSubfield('subfield<!-- TMPL_VAR NAME='tag' --><!-- TMPL_VAR NAME='subfield' --><!-- TMPL_VAR name="random" -->')">+</span>
                 <!-- /TMPL_IF -->
 </fieldset>
 </div>
 <!-- TMPL_ELSE --> <!-- // ACTION -->
-         <h3>No results!</h3>
          <a href="javascript:window.history.back()">Go back</a>
 <!-- /TMPL_IF -->
 
index 791d250..ae13892 100755 (executable)
@@ -82,6 +82,7 @@ if ($op eq "action") {
     # build indicator hash.
     my @ind_tag   = $input->param('ind_tag');
     my @indicator = $input->param('indicator');
+
     my $xml = TransformHtmlToXml(\@tags,\@subfields,\@values,\@indicator,\@ind_tag, 'ITEM');
     my $marcitem = MARC::Record::new_from_xml($xml, 'UTF-8');
     my $localitem = TransformMarcToKoha( $dbh, $marcitem, "", 'items' );
@@ -200,8 +201,32 @@ foreach my $tag (sort keys %{$tagslib}) {
        $subfield_data{visibility} = "display:none;" if (($tagslib->{$tag}->{$subfield}->{hidden} > 4) || ($tagslib->{$tag}->{$subfield}->{hidden} < -4));
        # testing branch value if IndependantBranches.
 
-       my $attributes_no_value = qq(tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" );
-       my $attributes          = qq($attributes_no_value value="$value" );
+       my $attributes_no_value;
+       my $not_editable = 0;
+       # Disable barcode and stock numbers batch editing
+       my @not_editable_koha_fields = ( 'items.barcode', 'items.stknumber' );
+       foreach (@not_editable_koha_fields) {
+           my ($bctag, $bcsubfield) = GetMarcFromKohaField($_, $frameworkcode);
+           if (($bctag eq $subfield_data{tag}) && ($bcsubfield eq $subfield_data{subfield})) {
+               $not_editable = 1;
+           }
+
+       }
+
+       my $attributes;
+       # If a field is found to be non-editable,
+       if ($not_editable) {
+               # We mark it as disabled, so the user won't be able to edit it
+               $attributes_no_value = qq(disabled="disabled"); 
+               $attributes = $attributes_no_value;
+               # We also remove it's data, so it won't be modified
+               undef($subfield_data{tag});
+               undef($subfield_data{subfield});
+       } else {
+           $attributes_no_value = qq(tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" );
+           $attributes          = qq($attributes_no_value value="$value" );
+       }
+
        if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
        my @authorised_values;
        my %authorised_lib;