[Bug 43560] New: Convert misc/cronjobs/update_totalissues.pl to the Getopt::Long::Descriptive convention (see bug 43546)
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Bug ID: 43560 Summary: Convert misc/cronjobs/update_totalissues.pl to the Getopt::Long::Descriptive convention (see bug 43546) Initiative type: --- Sponsorship --- status: Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Command-line Utilities Assignee: koha-bugs@lists.koha-community.org Reporter: martin.renvoize@openfifth.co.uk QA Contact: testopia@bugs.koha-community.org CC: jake.deery@openfifth.co.uk, robin@catalyst.net.nz Target Milestone: --- Convert the plain Getopt::Long option parsing in misc/cronjobs/update_totalissues.pl to Koha::Script->describe_options, per the convention established by bug 43546. This script has two separate mutually-exclusive option pairs, each currently enforced with its own hand-rolled check after parsing (setting a deferred $want_help flag rather than dying immediately): - --since / --interval - --use-items / --incremental Depends on bug 43557 (declarative mutually-exclusive option support in Koha::Script->describe_options), so both pairs can be declared rather than reimplemented as post-parse checks. Test plan: 1. misc/cronjobs/update_totalissues.pl --help Confirm the description and all options are documented. 2. For each of the two pairs, confirm supplying both options together is still rejected as mutually exclusive, and each option still works correctly on its own. 3. koha-qa.pl passes for the changed file. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |43557 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43557 [Bug 43557] Add declarative mutually-exclusive option support to Koha::Script->describe_options -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #1 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 206177 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=206177&action=edit Bug 43560: Convert update_totalissues.pl to the Getopt::Long::Descriptive convention Convert the plain Getopt::Long option parsing to Koha::Script->describe_options, per the convention established by bug 43546. --since/--interval and --use-items/--incremental are declared via the exclusive support added on bug 43557, replacing the two hand-rolled "these are mutually exclusive" print+deferred-help checks. Also adds two Params::Validate callbacks (bug 43557's motivating use case for leaning on Getopt::Long::Descriptive's own validation machinery rather than hand-rolled checks): - --progress must be a positive integer. Previously an unchecked --progress 0 (or negative) would crash later with Perl's own "Illegal modulus zero" once the item/stats loop reached the modulo check, instead of failing immediately with a clear error. - --interval must be a number with an optional h/d/w/m/y suffix. Previously a malformed value (e.g. --interval abc) silently matched the parsing regex with an empty number, i.e. "subtract 0 of a day", and processed everything rather than failing. The "you must specify --use-stats and/or --use-items" check is an inclusive-or, not a mutual exclusion, so it has no declarative home in describe_options; kept as a plain post-parse check via $usage->die(), using the same short usage text every other error here now uses (the script previously dumped its full manual page via pod2usage(-verbose=>2) for every error, not just --man). This script has real POD already, so --man (added for free by describe_options) is genuinely useful here, unlike some of the other scripts converted so far. Test plan: 1. update_totalissues.pl --help / --man Confirm the description, all options, and the full manual page. 2. update_totalissues.pl (no options) Rejected: must specify --use-stats and/or --use-items. 3. update_totalissues.pl --use-stats --since X --interval Y Rejected: mutually exclusive. 4. update_totalissues.pl --use-items --incremental Rejected: mutually exclusive. 5. update_totalissues.pl --use-stats --progress 0 Rejected: must be a positive integer. 6. update_totalissues.pl --use-stats --interval abc Rejected: must be a number with an optional h/d/w/m/y suffix. 7. update_totalissues.pl --use-stats --test --interval 30d and --use-items --test both run to completion as before. 8. koha-qa.pl passes. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |martin.renvoize@openfifth.c |ity.org |o.uk Status|NEW |Needs Signoff -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #206177|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #2 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 208584 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=208584&action=edit Bug 43560: Convert update_totalissues.pl to the Getopt::Long::Descriptive convention Convert the plain Getopt::Long option parsing to Koha::Script->describe_options, per the convention established by bug 43546. --since/--interval and --use-items/--incremental are declared via the exclusive support added on bug 43557, replacing the two hand-rolled "these are mutually exclusive" print+deferred-help checks. Also adds two Params::Validate callbacks (bug 43557's motivating use case for leaning on Getopt::Long::Descriptive's own validation machinery rather than hand-rolled checks): - --progress must be a positive integer. Previously an unchecked --progress 0 (or negative) would crash later with Perl's own "Illegal modulus zero" once the item/stats loop reached the modulo check, instead of failing immediately with a clear error. - --interval must be a number with an optional h/d/w/m/y suffix. Previously a malformed value (e.g. --interval abc) silently matched the parsing regex with an empty number, i.e. "subtract 0 of a day", and processed everything rather than failing. The "you must specify --use-stats and/or --use-items" check is an inclusive-or, not a mutual exclusion, so it has no declarative home in describe_options; kept as a plain post-parse check via $usage->die(), using the same short usage text every other error here now uses (the script previously dumped its full manual page via pod2usage(-verbose=>2) for every error, not just --man). This script has real POD already, so --man (added for free by describe_options) is genuinely useful here, unlike some of the other scripts converted so far. Test plan: 1. update_totalissues.pl --help / --man Confirm the description, all options, and the full manual page. 2. update_totalissues.pl (no options) Rejected: must specify --use-stats and/or --use-items. 3. update_totalissues.pl --use-stats --since X --interval Y Rejected: mutually exclusive. 4. update_totalissues.pl --use-items --incremental Rejected: mutually exclusive. 5. update_totalissues.pl --use-stats --progress 0 Rejected: must be a positive integer. 6. update_totalissues.pl --use-stats --interval abc Rejected: must be a number with an optional h/d/w/m/y suffix. 7. update_totalissues.pl --use-stats --test --interval 30d and --use-items --test both run to completion as before. 8. koha-qa.pl passes. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #208584|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #3 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 208598 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=208598&action=edit Bug 43560: Convert update_totalissues.pl to the Getopt::Long::Descriptive convention Convert the plain Getopt::Long option parsing to Koha::Script->describe_options, per the convention established by bug 43546. --since/--interval and --use-items/--incremental are declared via the exclusive support added on bug 43557, replacing the two hand-rolled "these are mutually exclusive" print+deferred-help checks. Also adds two Params::Validate callbacks (bug 43557's motivating use case for leaning on Getopt::Long::Descriptive's own validation machinery rather than hand-rolled checks): - --progress must be a positive integer. Previously an unchecked --progress 0 (or negative) would crash later with Perl's own "Illegal modulus zero" once the item/stats loop reached the modulo check, instead of failing immediately with a clear error. - --interval must be a number with an optional h/d/w/m/y suffix. Previously a malformed value (e.g. --interval abc) silently matched the parsing regex with an empty number, i.e. "subtract 0 of a day", and processed everything rather than failing. The "you must specify --use-stats and/or --use-items" check is an inclusive-or, not a mutual exclusion, so it has no declarative home in describe_options; kept as a plain post-parse check via $usage->die(), using the same short usage text every other error here now uses (the script previously dumped its full manual page via pod2usage(-verbose=>2) for every error, not just --man). This script has real POD already, so --man (added for free by describe_options) is genuinely useful here, unlike some of the other scripts converted so far. Test plan: 1. update_totalissues.pl --help / --man Confirm the description, all options, and the full manual page. 2. update_totalissues.pl (no options) Rejected: must specify --use-stats and/or --use-items. 3. update_totalissues.pl --use-stats --since X --interval Y Rejected: mutually exclusive. 4. update_totalissues.pl --use-items --incremental Rejected: mutually exclusive. 5. update_totalissues.pl --use-stats --progress 0 Rejected: must be a positive integer. 6. update_totalissues.pl --use-stats --interval abc Rejected: must be a number with an optional h/d/w/m/y suffix. 7. update_totalissues.pl --use-stats --test --interval 30d and --use-items --test both run to completion as before. 8. koha-qa.pl passes. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #208598|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #4 from Andrew Fuerste-Henry <andrew@bywatersolutions.com> --- Created attachment 211061 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=211061&action=edit Bug 43560: Convert update_totalissues.pl to the Getopt::Long::Descriptive convention Convert the plain Getopt::Long option parsing to Koha::Script->describe_options, per the convention established by bug 43546. --since/--interval and --use-items/--incremental are declared via the exclusive support added on bug 43557, replacing the two hand-rolled "these are mutually exclusive" print+deferred-help checks. Also adds two Params::Validate callbacks (bug 43557's motivating use case for leaning on Getopt::Long::Descriptive's own validation machinery rather than hand-rolled checks): - --progress must be a positive integer. Previously an unchecked --progress 0 (or negative) would crash later with Perl's own "Illegal modulus zero" once the item/stats loop reached the modulo check, instead of failing immediately with a clear error. - --interval must be a number with an optional h/d/w/m/y suffix. Previously a malformed value (e.g. --interval abc) silently matched the parsing regex with an empty number, i.e. "subtract 0 of a day", and processed everything rather than failing. The "you must specify --use-stats and/or --use-items" check is an inclusive-or, not a mutual exclusion, so it has no declarative home in describe_options; kept as a plain post-parse check via $usage->die(), using the same short usage text every other error here now uses (the script previously dumped its full manual page via pod2usage(-verbose=>2) for every error, not just --man). This script has real POD already, so --man (added for free by describe_options) is genuinely useful here, unlike some of the other scripts converted so far. Test plan: 1. update_totalissues.pl --help / --man Confirm the description, all options, and the full manual page. 2. update_totalissues.pl (no options) Rejected: must specify --use-stats and/or --use-items. 3. update_totalissues.pl --use-stats --since X --interval Y Rejected: mutually exclusive. 4. update_totalissues.pl --use-items --incremental Rejected: mutually exclusive. 5. update_totalissues.pl --use-stats --progress 0 Rejected: must be a positive integer. 6. update_totalissues.pl --use-stats --interval abc Rejected: must be a number with an optional h/d/w/m/y suffix. 7. update_totalissues.pl --use-stats --test --interval 30d and --use-items --test both run to completion as before. 8. koha-qa.pl passes. Signed-off-by: Michelle Spinney <mspinney@clamsnet.org> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Passed QA -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #211061|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #5 from Andrew Fuerste-Henry <andrew@bywatersolutions.com> --- Created attachment 211085 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=211085&action=edit Bug 43560: Convert update_totalissues.pl to the Getopt::Long::Descriptive convention Convert the plain Getopt::Long option parsing to Koha::Script->describe_options, per the convention established by bug 43546. --since/--interval and --use-items/--incremental are declared via the exclusive support added on bug 43557, replacing the two hand-rolled "these are mutually exclusive" print+deferred-help checks. Also adds two Params::Validate callbacks (bug 43557's motivating use case for leaning on Getopt::Long::Descriptive's own validation machinery rather than hand-rolled checks): - --progress must be a positive integer. Previously an unchecked --progress 0 (or negative) would crash later with Perl's own "Illegal modulus zero" once the item/stats loop reached the modulo check, instead of failing immediately with a clear error. - --interval must be a number with an optional h/d/w/m/y suffix. Previously a malformed value (e.g. --interval abc) silently matched the parsing regex with an empty number, i.e. "subtract 0 of a day", and processed everything rather than failing. The "you must specify --use-stats and/or --use-items" check is an inclusive-or, not a mutual exclusion, so it has no declarative home in describe_options; kept as a plain post-parse check via $usage->die(), using the same short usage text every other error here now uses (the script previously dumped its full manual page via pod2usage(-verbose=>2) for every error, not just --man). This script has real POD already, so --man (added for free by describe_options) is genuinely useful here, unlike some of the other scripts converted so far. Test plan: 1. update_totalissues.pl --help / --man Confirm the description, all options, and the full manual page. 2. update_totalissues.pl (no options) Rejected: must specify --use-stats and/or --use-items. 3. update_totalissues.pl --use-stats --since X --interval Y Rejected: mutually exclusive. 4. update_totalissues.pl --use-items --incremental Rejected: mutually exclusive. 5. update_totalissues.pl --use-stats --progress 0 Rejected: must be a positive integer. 6. update_totalissues.pl --use-stats --interval abc Rejected: must be a number with an optional h/d/w/m/y suffix. 7. update_totalissues.pl --use-stats --test --interval 30d and --use-items --test both run to completion as before. 8. koha-qa.pl passes. Signed-off-by: Michelle Spinney <mspinney@clamsnet.org> Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #6 from Andrew Fuerste-Henry <andrew@bywatersolutions.com> --- Created attachment 211086 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=211086&action=edit Bug 43560: (QA follow-up) Require a value for --since, --interval and --progress The conversion declared --since, --interval and --progress with an optional value (:s, :i), where Getopt::Long had them requiring one (=s, =i). Passed without a value they used to stop the script with "requires an argument". With :s, a bare --since gave an empty string: it counts as defined, so --incremental skipped its 24 hour default, but it is false, so no date limit was added to the statistics query. --use-stats --incremental --since would then add every historical checkout on top of the existing total issues counts. A bare --interval or --progress was caught by the new callbacks, but with a confusing ("") or ("0") value in the message. Declare all three with a required value again. Test plan: 1. update_totalissues.pl --use-stats --incremental --test -v --since => Option since requires an argument 2. update_totalissues.pl --use-stats --interval => Option interval requires an argument 3. update_totalissues.pl --use-stats --progress => Option progress requires an argument 4. update_totalissues.pl --use-stats --test --interval 30d --progress 10 => Runs as before Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- QA Contact|testopia@bugs.koha-communit |andrew@bywatersolutions.com |y.org | CC| |andrew@bywatersolutions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rel_26_11_candidate -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Pedro Amorim (ammopt) <pedro.amorim@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pedro.amorim@openfifth.co.u | |k Status|Passed QA |Failed QA --- Comment #7 from Pedro Amorim (ammopt) <pedro.amorim@openfifth.co.uk> --- Hi all, misc/cronjobs/crontab.example:82 still passes --commit=1000 to update_totalissues.pl (that option was removed in 24.11). Before this patch, the unknown option only printed a warning and the script carried on. Now the script exits 1 before doing any work. That crontab line sends all output to /dev/null, so any site that copied it will silently stop updating totalissues. Test plan: 1) Before applying the patch, run the same command as crontab.example:82 in a KTD shell: perl misc/cronjobs/update_totalissues.pl --commit=1000 --use-stats --incremental --interval=1d; echo "exit: $?" 2) Notice 'Unknown option: commit' is printed, the script still runs, and you get 'exit: 0' 3) Apply the patch and repeat 1) 4) Notice the usage text is printed and you get 'exit: 1', so nothing is updated -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #8 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Great catch Pedro! So much coming out of the woodwork when making things more strict and consistent with these bugs -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |44126 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=44126 [Bug 44126] Koha::Script->describe_options: allow scripts to declare deprecated, ignored options -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 --- Comment #9 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 211736 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=211736&action=edit Bug 43560: (QA follow-up) Keep accepting the removed --commit option crontab.example still passed --commit=1000 to update_totalissues.pl, an option removed in 24.11. Getopt::Long only warned about it and the script carried on, but the converted script exits 1 before doing any work. As that crontab line sends its output to /dev/null, any site that copied it would silently stop updating total issues. Remove the option from crontab.example and declare it as deprecated (bug 44126), so existing crontabs keep working with a warning. To test: 1. Before applying the patch, in a KTD shell run perl misc/cronjobs/update_totalissues.pl --commit=1000 --use-stats --incremental --interval=1d; echo "exit: $?" => Unknown option: commit warning, runs, exit: 0 2. Apply the patch and repeat 1 => WARNING: --commit is deprecated and ignored, runs, exit: 0 3. Run it again with --bogus instead of --commit=1000 => Usage text, exit: 1 4. Confirm crontab.example no longer has --commit Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Failed QA |Needs Signoff --- Comment #10 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Thanks Pedro, good catch. The follow-up removes --commit=1000 from crontab.example and declares it as a deprecated, ignored option, so existing crontabs keep working with a warning instead of exiting 1. The deprecation handling itself is in Koha::Script and is split out to bug 44126, which this bug now depends on. Unknown options other than --commit still exit 1. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|43557 | Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43557 [Bug 43557] Add declarative mutually-exclusive option support to Koha::Script->describe_options -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |BLOCKED -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |43557, 44127 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43557 [Bug 43557] Add declarative mutually-exclusive option support to Koha::Script->describe_options https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=44127 [Bug 44127] Koha::Script->describe_options: restore the -h alias for --help where it is free -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|43557 | Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43557 [Bug 43557] Add declarative mutually-exclusive option support to Koha::Script->describe_options -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43560 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|BLOCKED |Passed QA -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org