If an item is checked out, and the barcode is removed from that item, it is impossible to show checked out items on circulation.pl or moremember.pl. The loading of the table is broken by the missing barcodes. And yes, it is a possible scenario. Apparently we have a library that will check damaged items out to an internal account while it is under repairs, and they will remove the barcode if the item is going to be replaced, and put a new barcode in place when the item is in. I know this isn't the best procedure, but you can be sure it will happen to someone else if this hole isn't plugged. We need to either have Koha not allow the removal of a barcode once it is in place, without being replaced with something else, or an item should not be allowed to have an item barcode changed while checked out, or the table needs to load whether the item has a barcode or not.
Created attachment 96409 [details] [review] Bug 24166: Do not hang when displaying checkout list if barcode is not set If a barcode is not set, there is a JS error in the log: TypeError: oObj.barcode is null We should not call escapeHtml() on it if not barcode is set for a given item. Test plan: Check an item out Remove its barcode Load the checkout list => Without this patch you get the "loading" popup and the table is never displayed => With this patch applied you see the checkout list
Created attachment 96413 [details] [review] Bug 24166: Do not hang when displaying checkout list if barcode is not set If a barcode is not set, there is a JS error in the log: TypeError: oObj.barcode is null We should not call escapeHtml() on it if not barcode is set for a given item. Test plan: Check an item out Remove its barcode Load the checkout list => Without this patch you get the "loading" popup and the table is never displayed => With this patch applied you see the checkout list Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Created attachment 96590 [details] [review] Bug 24166: Do not hang when displaying checkout list if barcode is not set If a barcode is not set, there is a JS error in the log: TypeError: oObj.barcode is null We should not call escapeHtml() on it if not barcode is set for a given item. Test plan: Check an item out Remove its barcode Load the checkout list => Without this patch you get the "loading" popup and the table is never displayed => With this patch applied you see the checkout list Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Nice work everyone! Pushed to master for 20.05
Pushed to 19.11.x branch for 19.11.02
backported to 19.05.x for 19.05.07
Backported to 18.11.x for 18.11.13