Bug 18710: Wrong subfield modified in batch item modification
authorFridolin Somers <fridolin.somers@biblibre.com>
Wed, 31 May 2017 14:54:32 +0000 (16:54 +0200)
committerFridolin Somers <fridolin.somers@biblibre.com>
Tue, 8 Oct 2019 06:54:16 +0000 (08:54 +0200)
commitd8a1871dd0a08b86931c80ad717b4d5e55577c3f
tree0d718f1bd37675bd9aaf91de1b572ac23f6fe569
parent0dab9b927e149792bfd3f280e12426a328bedf24
Bug 18710: Wrong subfield modified in batch item modification

In Tools > Batch item modification, one can modify or delete a subfield.
When deleting a subfield et modifying another, the wrong subfield gets modified.

This is caused by the fact that disabled inputs are not posted in form.
So for a subfield to delete :
Input name=field_value is not posted. But input name=subfield is posted with subfield code.
So these 2 arrays does not have the same size :
    my @subfields = $input->multi_param('subfield');
    my @values    = $input->multi_param('field_value');

For exemple, deleting $2, not changing $u and modidying $v will modify $u with value for $v o_O

This patch correts but setting disabled all inputs of a deleted subfield : field_value, tag, subfield and mandatory. Like it was not present in the form.

Test plan :
- Go to Tools > Batch item modification
- Enter a barcode and submit
- Lets say there are subfields : $2 (not mandatory), $u and $v
- Check the subfield $2 to be deleted
=> $2 input is disabled
- Enter a text in $v
- Submit the form
=> Without patch, the text for $v gets into $u
=> With patch, the text for $v gets into $v
- Check the subfield $2 is well deleted

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit adb232c8f0f4bf8574ca3dce9548196430c57fb0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt