Currently, if autobarcode is set to "<branch>yymm00001", the barcode won't be created. Depending on your browser, you should receive a Javascript alert saying something like "Uncaught TypeError: Cannot read property 'field_value' of undefined". This looks like it's due to the form containing elements with a 'field_value' property missing the name "f". The easiest fix is to add a name of "f" to the form. That eliminates the problem and allows the barcode to be created. However, as Jared and Robin have pointed out, "f" is a really poor choice of names for a form. We should probably be using descriptive names for our forms. We should probably also be populating the barcode field in a way that doesn't rely on looping through the inputs of a form. Maybe we could just look for the branch code by doing $('#outeritemblock #subfielda') or something like that.
(In reply to David Cook from comment #0) > Currently, if autobarcode is set to "<branch>yymm00001", the barcode won't > be created. Depending on your browser, you should receive a Javascript alert > saying something like "Uncaught TypeError: Cannot read property > 'field_value' of undefined". > > This looks like it's due to the form containing elements with a > 'field_value' property missing the name "f". > > The easiest fix is to add a name of "f" to the form. That eliminates the > problem and allows the barcode to be created. > > However, as Jared and Robin have pointed out, "f" is a really poor choice of > names for a form. We should probably be using descriptive names for our > forms. > > We should probably also be populating the barcode field in a way that > doesn't rely on looping through the inputs of a form. Maybe we could just > look for the branch code by doing $('#outeritemblock #subfielda') or > something like that. Actually, that last idea wouldn't work in the Cataloguing module although it might work in Acquisitions. We would need a cross module solution...
Created attachment 21111 [details] [review] Bug 10890 - Autobarcode "<branch>yymm00001" Fails in Acquisitions When Receiving Item This patch adds the name "f" to the form that adds items when placing or receiving an order in Acquisitions. This is needed so that the autobarcode code (which uses document.f.field_name) will work properly when the system preference is set to "<branch>yymm00001". AcqCreateItem "placing an order" "receiving an order" TEST PLAN 1) Set the autobarcode system preference to "<branch>yymm00001" 2) Set the AcqCreateItem system preference to "placing an order" 3) Plan an order 4) Try to add a barcode to the item in the AJAX form 5) Note that no barcode appears. Depending on your browser, you might receive a Javascript error popup message or a error icon at the bottom of your screen. You might receive no error message at all and it will fail seemingly silently. 6) Set the AcqCreateItem system preference to "receiving an order" 7) Receive the order 8) Try to add a barcode to the item in the AJAX form 9) See step 5. No barcode will appear and you might get an error message. 10) Apply the patch 11) Repeat steps 2, 3, 4, 6, 7, and 8 again. That is, try to add barcodes when placing an order and receiving an order. 12) Note that a barcode now appears with the pattern of <branch>yymm00001
Patch applied cleanly, go forth and signoff
Created attachment 21737 [details] [review] [SIGNED-OFF] Bug 10890 - Autobarcode "<branch>yymm00001" Fails in Acquisitions When Receiving Item This patch adds the name "f" to the form that adds items when placing or receiving an order in Acquisitions. This is needed so that the autobarcode code (which uses document.f.field_name) will work properly when the system preference is set to "<branch>yymm00001". AcqCreateItem "placing an order" "receiving an order" TEST PLAN 1) Set the autobarcode system preference to "<branch>yymm00001" 2) Set the AcqCreateItem system preference to "placing an order" 3) Plan an order 4) Try to add a barcode to the item in the AJAX form 5) Note that no barcode appears. Depending on your browser, you might receive a Javascript error popup message or a error icon at the bottom of your screen. You might receive no error message at all and it will fail seemingly silently. 6) Set the AcqCreateItem system preference to "receiving an order" 7) Receive the order 8) Try to add a barcode to the item in the AJAX form 9) See step 5. No barcode will appear and you might get an error message. 10) Apply the patch 11) Repeat steps 2, 3, 4, 6, 7, and 8 again. That is, try to add barcodes when placing an order and receiving an order. 12) Note that a barcode now appears with the pattern of <branch>yymm00001 Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
When creating multiple items, always the same barcode number is created. This will result in an error message on saving. Could this be improved so that the script notices the first number and counts?
This is certainly a duplicate of bug 11273
David: Can you confirm that this is a duplicate of bug 11273 (which is now Pushed to stable)?
*** This bug has been marked as a duplicate of bug 28103 ***