If the item data (e.g. callnumber) contains a tab or backslash OR the title part contains a backslash, the DataTable displaying the item search results stops throwing an error modal "Something went wrong when loading the table. 200: OK." and a JS console log: "DataTables warning: table id=results - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1". The solution would be to apply $To filter in itemsearch_item.json.inc not only for biblioitem.publishercode but to all elements (also in biblio-title.inc).
Created attachment 171954 [details] [review] Bug 37998: Tabs and backslashes in the data break item search display If the item data (e.g. callnumber) contains a tab or backslash OR the title part contains a backslash, the DataTable displaying the item search results stops throwing an error modal "Something went wrong when loading the table. 200: OK." and a JS console log: "DataTables warning: table id=results - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1". Test plan: ========== 1. Make an item search w/o any parameters. 2. From the first result page choose a record and modify the title (245 $a) to contain " \ " string. Repeat the item search. You should see a modal "Something went wrong when loading the table. 200: OK.". 3. Remove the " \ " from the title. Verify that the problem no longer occurs. 4. In the same record, insert the string " \ " or a tab (copied from a text editor) into item data (itemcallnumber, enumchron, barcode etc.). 5. Repeat the item search. You should see again a modal "Something went wrong when loading the table. 200: OK.". 6. Apply the patch; restart_all. 7. Repeat p. 2, 3, 4, and 5. Verify, that the problem is solved. Sponsored-by: Ignatianum University in Cracow
Created attachment 171955 [details] [review] Bug 37998: Tabs and backslashes in the data break item search display If the item data (e.g. callnumber) contains a tab or backslash OR the title part contains a backslash, the DataTable displaying the item search results stops throwing an error modal "Something went wrong when loading the table. 200: OK." and a JS console log: "DataTables warning: table id=results - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1". Test plan: ========== 1. Make an item search w/o any parameters. 2. From the first result page choose a record and modify the title (245 $a) to contain " \ " string. Repeat the item search. You should see a modal "Something went wrong when loading the table. 200: OK.". 3. Remove the " \ " from the title. Verify that the problem no longer occurs. 4. In the same record, insert the string " \ " or a tab (copied from a text editor) into item data (itemcallnumber, enumchron, barcode etc.). 5. Repeat the item search. You should see again a modal "Something went wrong when loading the table. 200: OK.". 6. Apply the patch; restart_all. 7. Repeat p. 2, 3, 4, and 5. Verify, that the problem is solved. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Created attachment 174127 [details] [review] Bug 37998: Tabs and backslashes in the data break item search display If the item data (e.g. callnumber) contains a tab or backslash OR the title part contains a backslash, the DataTable displaying the item search results stops throwing an error modal "Something went wrong when loading the table. 200: OK." and a JS console log: "DataTables warning: table id=results - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1". Test plan: ========== 1. Make an item search w/o any parameters. 2. From the first result page choose a record and modify the title (245 $a) to contain " \ " string. Repeat the item search. You should see a modal "Something went wrong when loading the table. 200: OK.". 3. Remove the " \ " from the title. Verify that the problem no longer occurs. 4. In the same record, insert the string " \ " or a tab (copied from a text editor) into item data (itemcallnumber, enumchron, barcode etc.). 5. Repeat the item search. You should see again a modal "Something went wrong when loading the table. 200: OK.". 6. Apply the patch; restart_all. 7. Repeat p. 2, 3, 4, and 5. Verify, that the problem is solved. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Created attachment 174149 [details] [review] Bug 37998: (QA follow-up) Remove excess whitespace in catalogue/itemsearch_item.json.inc
Pushed for 24.11! Well done everyone, thank you!