Bug 24903

Summary: Special characters like parentheses in numbering pattern cause duplication in recievedlist
Product: Koha Reporter: Marcel de Rooy <m.de.rooy>
Component: SerialsAssignee: Marcel de Rooy <m.de.rooy>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: 1joynelson, colin.campbell, jonathan.druart, katrin.fischer, koha, lucas, sandboxes
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24842
Change sponsored?: --- Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
20.05.00, 19.11.06, 19.05.11
Attachments: Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist
Bug 24903: Add tests for _handle_seqno
Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist
Bug 24903: Add tests for _handle_seqno
Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist
Bug 24903: Add tests for _handle_seqno

Description Marcel de Rooy 2020-03-19 10:47:30 UTC
Just an example

2016 (No. 12); 2017 (No. 3); 2017 (No. 2); 2017 (No. 1); 2017 (No. 4); 2017 (No. 5); 2017 (No. 6); 2017 (No. 7); 2017 (No. 8); 2017 (No. 9); 2017 (No. 10); 2017 (No. 11); 2017 (No. 12); 2018 (No. 1); 2018 (No. 2); 2018 (No. 3); 2018 (No. 4); 2018 (No. 5); 2018 (No. 6); 2018 (No. 7); 2018 (No. 12); 2018 (No. 9); 2018 (No. 10); 2018 (No. 11); 2019 (No. 1); 2019 (No. 2); 2019 (No. 2); 2019 (No. 4); 2019 (No. 3); 2019 (No. 5); 2019 (No. 6); 2019 (No. 7); 2019 (No. 11); 2019 (No. 7); 2019 (No. 8); 2019 (No. 8); 2019 (No. 9); 2019 (No. 9); 2019 (No. 11); 2019 (No. 9); 2019 (No. 8); 2019 (No. 7); 2019 (No. 6); 2019 (No. 5); 2019 (No. 4); 2019 (No. 3); 2019 (No. 2); 2019 (No. 1); 2018 (No. 12); 2019 (No. 9); 2019 (No. 8); 2019 (No. 1); 2018 (No. 12)

Each edit adds at the end since the parentheses break the regex.
Comment 1 Marcel de Rooy 2020-03-19 14:45:46 UTC
Created attachment 101024 [details] [review]
Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist

Test plan:
Use serial with a numbering pattern with parentheses like "2018 (No. 1)".
Mark serial issue as arrived, check receivedlist on summary.
Edit issue again, check if not duplicated on receivedlist.
Mark issue as missing or not available, check missinglist.
Mark missing issue as not missing, check list again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Comment 2 Marcel de Rooy 2020-03-19 14:45:50 UTC
Created attachment 101025 [details] [review]
Bug 24903: Add tests for _handle_seqno

Trivial tests.

Test plan:
Run t/Serials/ModSerialStatus.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Comment 3 Biblibre Sandboxes 2020-04-10 09:29:11 UTC
Patch tested with a sandbox, by Laurence Rault <laurence.rault@biblibre.com>
Comment 4 Biblibre Sandboxes 2020-04-10 09:29:40 UTC
Created attachment 102686 [details] [review]
Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist

Test plan:
Use serial with a numbering pattern with parentheses like "2018 (No. 1)".
Mark serial issue as arrived, check receivedlist on summary.
Edit issue again, check if not duplicated on receivedlist.
Mark issue as missing or not available, check missinglist.
Mark missing issue as not missing, check list again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Comment 5 Biblibre Sandboxes 2020-04-10 09:29:42 UTC
Created attachment 102687 [details] [review]
Bug 24903: Add tests for _handle_seqno

Trivial tests.

Test plan:
Run t/Serials/ModSerialStatus.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Comment 6 Marcel de Rooy 2020-04-10 09:36:21 UTC
(In reply to sandboxes@biblibre.com from comment #5)
> Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>

Thanks Laurence !
Comment 7 Katrin Fischer 2020-04-12 22:24:56 UTC
Created attachment 102776 [details] [review]
Bug 24903: Special characters like parentheses in numbering pattern cause duplication in recievedlist

Test plan:
Use serial with a numbering pattern with parentheses like "2018 (No. 1)".
Mark serial issue as arrived, check receivedlist on summary.
Edit issue again, check if not duplicated on receivedlist.
Mark issue as missing or not available, check missinglist.
Mark missing issue as not missing, check list again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 8 Katrin Fischer 2020-04-12 22:24:59 UTC
Created attachment 102777 [details] [review]
Bug 24903: Add tests for _handle_seqno

Trivial tests.

Test plan:
Run t/Serials/ModSerialStatus.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 9 Katrin Fischer 2020-04-12 22:31:46 UTC
Maybe an edge case:

My number (18) was Arrived and listed as received.
Change the status to missing.
It's now both missing and received in the summary.

Should to not be removed from the received list in this case? 

Marcel, I will let you judge if this should go on y separate bug report. Please also check bug 24842 for how it relates to this bug.
Comment 10 Martin Renvoize 2020-04-14 07:37:03 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 11 Joy Nelson 2020-05-04 21:40:39 UTC
backported to 19.11.x for 19.11.06
Comment 12 Lucas Gass 2020-05-13 21:46:53 UTC
backported to 19.05.x for 19.05.11
Comment 13 Jonathan Druart 2021-02-10 07:21:53 UTC
*** Bug 24842 has been marked as a duplicate of this bug. ***
Comment 14 Jonathan Druart 2021-02-10 07:22:50 UTC
This is not the correct way to handle "special characters" in regex, you must surround the $var with \Q \E instead.