When item fields are mandatory, which usually indicate they are somehow critical for functionality and expected to exist in Koha, it makes sense they should be preserved when duplicating an item, even if the field is hidden. Right now hidden fields are ignored using the "ignore_invisible_subfields" option in the form builder for item. If for current library (holding branch) is hidden (which is the case for our library), the biblio page will crash after duplicating an item, which now has a missing holding branch. Fixing this is simple by adding a check for the mandatory attribute in the check for "ignore_invisible_subfields" (I also renamed this option to "ignore_non_mandatory_invisible_subfields" for clarity.
Created attachment 186878 [details] [review] Bug 40869: Preserve mandatory fields even if hidden when duplicating item Preserve mandatory fields while when duplicating an item, also when they are non visible. To test: 1) Go to MARC bibliographic framwork and view the marc structure for some framework. 2) Select edit subfield b for tag 952 and make it non visible 3) Go to a biblio using the framework above and edit an item. In the "actions" dropdown, choose to duplicate an item. 4) Now go to the detail page for the biblio, "Current library" should be empty and it should produce a 500 error. 5) Apply patch. 6) Perform steps 3-4 for some other biblio using the same framework. 7) The "Current library" should now be set to the same value as the source item, and no crash should occur. Sponsored-by: Gothenburg University Library
Created attachment 186885 [details] [review] Bug 40869: Fix tests and documentation after changing argument name
Created attachment 186887 [details] [review] Bug 40869: Fix incorrect argument name