Bug 10190 - Overdue notice triggers based on item type
Summary: Overdue notice triggers based on item type
Status: Failed QA
Alias: None
Product: Koha
Classification: Unclassified
Component: Notices (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement
Assignee: Chloé Zermatten
QA Contact:
URL: https://docs.google.com/document/d/1N...
Keywords: Hackfest, roadmap_24_11, roadmap_25_05, roadmap_25_11
: 12772 (view as bug list)
Depends on: 36641 37256
Blocks: 38135 39756
  Show dependency treegraph
 
Reported: 2013-05-03 21:47 UTC by Melia Meggs
Modified: 2026-02-27 15:53 UTC (History)
35 users (show)

See Also:
GIT URL: https://github.com/openfifth/koha/tree/bug_10190_submission_qa_fixes_rebased
Initiative type: Feature
Sponsorship status: Sponsored
Comma delimited list of Sponsors: Glasgow Colleges Library Group <https://library.cityofglasgowcollege.ac.uk>
Crowdfunding goal: 0
Patch complexity: Large patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments
Bug 10190: DB migration for overduerules (11.68 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (973 bytes, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.21 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a vue app for circulation triggers (16.63 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add components to list/add and edit circulation triggers (42.46 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a library API client (2.71 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtypes and patron categories to the item/patron api clients (2.04 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.87 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.72 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update overdue_notices script to refer to circ rules (11.00 KB, patch)
2024-08-15 11:36 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtype handling to overdue_notices script (39.48 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.22 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add letter names to tables (4.60 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Set tab based on trigger edited/created (2.92 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add fallback to 'Default' text for notice (1.21 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (4.19 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (34.31 KB, patch)
2024-08-15 11:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Drop overduerules and overduerules_transport_types (4.28 KB, patch)
2024-08-15 11:52 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (8.82 KB, patch)
2024-08-15 11:54 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.79 KB, patch)
2024-08-15 11:56 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.62 KB, patch)
2024-08-15 13:37 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add comments to overdue_notices and rename variable (5.02 KB, patch)
2024-08-16 13:09 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.65 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (8.82 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.79 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (973 bytes, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.21 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a vue app for circulation triggers (16.63 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add components to list/add and edit circulation triggers (42.46 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a library API client (2.71 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtypes and patron categories to the item/patron api clients (2.04 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.87 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.72 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update overdue_notices script to refer to circ rules (11.00 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtype handling to overdue_notices script (39.48 KB, patch)
2024-09-19 13:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.22 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add letter names to tables (4.60 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Set tab based on trigger edited/created (2.92 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add fallback to 'Default' text for notice (1.21 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (4.19 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (34.32 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.63 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add comments to overdue_notices and rename variable (5.02 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (53.32 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display effective values and highlight them (14.13 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Restore 'edit' from 'Add/Edit' Modal (1.83 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Modal form improvements (32.54 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add custom input for delay (40.83 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Clarify workflow (8.10 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update for bootstrap 5 (5.24 KB, patch)
2024-09-19 13:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rebase for rspack (838 bytes, patch)
2024-09-19 13:22 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.65 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (8.82 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.79 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (973 bytes, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.21 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a vue app for circulation triggers (16.63 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add components to list/add and edit circulation triggers (42.46 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a library API client (2.71 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtypes and patron categories to the item/patron api clients (2.04 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.87 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.72 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update overdue_notices script to refer to circ rules (11.00 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtype handling to overdue_notices script (39.48 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.22 KB, patch)
2024-10-10 14:39 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add letter names to tables (4.60 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Set tab based on trigger edited/created (2.92 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add fallback to 'Default' text for notice (1.21 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (4.19 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (34.32 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.63 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add comments to overdue_notices and rename variable (5.02 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (53.32 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display effective values and highlight them (14.13 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Restore 'edit' from 'Add/Edit' Modal (1.83 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Modal form improvements (32.54 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add custom input for delay (40.83 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Clarify workflow (8.10 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update for bootstrap 5 (5.24 KB, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rebase for rspack (838 bytes, patch)
2024-10-10 14:40 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rename 'All *' to 'Default rule for *' (3.65 KB, patch)
2024-10-10 14:41 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Take DefaultToLoggedInLibraryOverdueTriggers into account (2.50 KB, patch)
2024-10-10 14:41 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Only display default and library specific letters (4.03 KB, patch)
2024-10-10 14:41 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display value of OverdueNoticeFrom in note (2.08 KB, patch)
2024-10-10 16:13 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.77 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (8.98 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.95 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.33 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a vue app for circulation triggers (16.74 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add components to list/add and edit circulation triggers (42.57 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a library API client (2.83 KB, patch)
2024-10-10 16:19 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtypes and patron categories to the item/patron api clients (2.16 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.99 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.84 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update overdue_notices script to refer to circ rules (11.11 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtype handling to overdue_notices script (39.59 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add letter names to tables (4.72 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Set tab based on trigger edited/created (3.04 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add fallback to 'Default' text for notice (1.33 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (4.31 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (34.44 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.79 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add comments to overdue_notices and rename variable (5.18 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (53.48 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display effective values and highlight them (14.29 KB, patch)
2024-10-10 16:20 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Restore 'edit' from 'Add/Edit' Modal (1.99 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Modal form improvements (32.70 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add custom input for delay (40.99 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Clarify workflow (8.26 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update for bootstrap 5 (5.40 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rebase for rspack (1002 bytes, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rename 'All *' to 'Default rule for *' (3.81 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Take DefaultToLoggedInLibraryOverdueTriggers into account (2.66 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Only display default and library specific letters (4.19 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display value of OverdueNoticeFrom in note (2.24 KB, patch)
2024-10-10 16:21 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.85 KB, patch)
2025-02-25 11:56 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.12 KB, patch)
2025-02-25 11:56 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.95 KB, patch)
2025-02-25 11:56 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.31 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a vue app for circulation triggers (17.11 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add components to list/add and edit circulation triggers (42.72 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add a library API client (2.98 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtypes and patron categories to the item/patron api clients (2.16 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.96 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update overdue_notices script to refer to circ rules (9.48 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add itemtype handling to overdue_notices script (38.82 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.37 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add letter names to tables (4.73 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Set tab based on trigger edited/created (3.04 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add fallback to 'Default' text for notice (1.33 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.78 KB, patch)
2025-02-25 11:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (34.01 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.37 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add comments to overdue_notices and rename variable (5.18 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (42.81 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display effective values and highlight them (15.94 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Restore 'edit' from 'Add/Edit' Modal (2.07 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Modal form improvements (36.79 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add custom input for delay (19.19 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Clarify workflow (8.03 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update for bootstrap 5 (5.40 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rebase for rspack (1002 bytes, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rename 'All *' to 'Default rule for *' (3.82 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Take DefaultToLoggedInLibraryOverdueTriggers into account (2.80 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Only display default and library specific letters (4.20 KB, patch)
2025-02-25 11:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Display value of OverdueNoticeFrom in note (2.36 KB, patch)
2025-02-25 11:59 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.85 KB, patch)
2025-10-17 13:57 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.36 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.96 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.31 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (45.37 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.71 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface (153.22 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.37 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.78 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.77 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.37 KB, patch)
2025-10-17 13:58 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.51 KB, patch)
2025-10-17 14:01 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): Fix removal of tables (982 bytes, patch)
2025-10-27 14:25 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (6.60 KB, patch)
2025-11-07 15:34 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2025-11-21 17:05 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.78 KB, patch)
2025-11-21 17:05 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.77 KB, patch)
2025-11-21 17:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.37 KB, patch)
2025-11-21 17:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.51 KB, patch)
2025-11-21 17:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (6.60 KB, patch)
2025-11-21 17:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.85 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.36 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.96 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.31 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (45.37 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.71 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface (151.30 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.78 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.55 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.77 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.51 KB, patch)
2026-01-21 10:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (6.60 KB, patch)
2026-01-21 10:17 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): Fix removal of tables (982 bytes, patch)
2026-01-21 16:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (6.60 KB, patch)
2026-01-21 16:16 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (6.39 KB, patch)
2026-01-21 17:38 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (13.59 KB, patch)
2026-01-22 11:43 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (13.58 KB, patch)
2026-01-22 15:57 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.85 KB, patch)
2026-02-10 13:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.36 KB, patch)
2026-02-10 13:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.96 KB, patch)
2026-02-10 13:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2026-02-10 13:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.31 KB, patch)
2026-02-10 13:06 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (45.28 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.71 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface (150.62 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.78 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.55 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.77 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.51 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): Fix removal of tables (982 bytes, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (15.18 KB, patch)
2026-02-10 13:07 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: feat: permissions (13.76 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: chore: remove circ triggers link from tools menu (1.30 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: refactor: remove redundant try..catch (5.82 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): fix unix permissions on bug_10190.pl (581 bytes, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): fix unix permissions on circulation_triggers.pl (524 bytes, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): chore: add new line at end of MessageTransportType.pm (756 bytes, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): chore: amend copyright statement (957 bytes, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): fix: typo (1.43 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: feat: enhance trigger context display in modal (2.51 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): fix: add missing filter (1.44 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: feat: trigger add/edit form UI/UX enhancements (5.50 KB, patch)
2026-02-10 13:08 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): feat: swap undef for all in update db output (3.12 KB, patch)
2026-02-10 13:09 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: fix: prevent duplicate ruleset load (2.91 KB, patch)
2026-02-10 13:09 UTC, Chloé Zermatten
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.86 KB, patch)
2026-02-25 15:24 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.86 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.36 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.96 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.32 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (45.28 KB, patch)
2026-02-25 15:31 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.71 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface (150.63 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.79 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.55 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.77 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.52 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): Fix removal of tables (984 bytes, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (15.18 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix permissions (13.76 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: remove circ triggers link from tools menu (1.29 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: refactor to remove redundant try..catch (5.83 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) fix unix permissions on bug_10190.pl (582 bytes, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) fix unix permissions on circulation_triggers.pl (525 bytes, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) add new line at end of MessageTransportType.pm (750 bytes, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) amend copyright statement (951 bytes, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) typo (1.42 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: enhance trigger context display in modal (2.50 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) add missing filter (1.43 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: trigger add/edit form UI/UX enhancements (5.49 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) swap undef for all in update db output (3.11 KB, patch)
2026-02-25 15:32 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: prevent duplicate ruleset load (2.91 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Deprecate permission (7.12 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: rewrite atomicupdate with correct 1:1 rule migration (18.47 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix three regressions in overdue_notices.pl (2.89 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix four more issues spotted in the overdues script (3.34 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: correction to x-koha-authorization on /circulation_rules/config (1.12 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: three minor issues (2.67 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: remove has_rules sentinel from circulation_rules table (12.77 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix NaN trigger number when adding first rule for a library (1.40 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: warn when no default triggers exist and show libraries with rules (5.95 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix test count in overdues.t (644 bytes, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix failing Permissions.t and overhaul CirculationTriggers Cypress spec (45.99 KB, patch)
2026-02-25 15:33 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Patron categories fetch shouldn't require full manage permission (813 bytes, patch)
2026-02-26 10:25 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DB migration for overduerules (15.86 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: DBIC Schema update (9.36 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove OverdueRule Koha Objects (2.96 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix unit test to exclude _X_ rules (1.07 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Add support for incrementable circulation rules (5.32 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update GetBranchcodesWithOverdueRules to use CirculationRules (5.14 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Rework logic of overdue_notices (45.28 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Let the circulation_rules endpoint accept query parameters (1.71 KB, patch)
2026-02-27 07:14 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface (150.63 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update has_restricting_overdues to refer to circulation rules (7.34 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Migrate MarkIssueReturned test to circulation rules (3.79 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Remove old overduerules interface (33.55 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Update itiva script to reflect move to circ_rules (4.77 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Comprehensive Cypress tests for Circulation Triggers UI (41.52 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up): Fix removal of tables (984 bytes, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (follow-up) Complete Vue.js rewrite of Circulation Triggers administration interface (15.18 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix permissions (13.76 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: remove circ triggers link from tools menu (1.29 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: refactor to remove redundant try..catch (5.83 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) fix unix permissions on bug_10190.pl (582 bytes, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) fix unix permissions on circulation_triggers.pl (525 bytes, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) add new line at end of MessageTransportType.pm (750 bytes, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) amend copyright statement (951 bytes, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) typo (1.42 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: enhance trigger context display in modal (2.50 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) add missing filter (1.43 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: trigger add/edit form UI/UX enhancements (5.49 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) swap undef for all in update db output (3.11 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: prevent duplicate ruleset load (2.91 KB, patch)
2026-02-27 07:15 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Deprecate permission (7.12 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: rewrite atomicupdate with correct 1:1 rule migration (18.47 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix three regressions in overdue_notices.pl (2.89 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix four more issues spotted in the overdues script (3.34 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: correction to x-koha-authorization on /circulation_rules/config (1.12 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: three minor issues (2.67 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: remove has_rules sentinel from circulation_rules table (12.77 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix NaN trigger number when adding first rule for a library (1.40 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: warn when no default triggers exist and show libraries with rules (5.95 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix test count in overdues.t (644 bytes, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: fix failing Permissions.t and overhaul CirculationTriggers Cypress spec (45.99 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Patron categories fetch shouldn't require full manage permission (903 bytes, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix permission mismatch on /circulation_rules/config endpoint (1.11 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: (QA follow-up) Fix six issues reported during QA (11.22 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Enforce manage_circ_rules_from_any_libraries permission (18.07 KB, patch)
2026-02-27 07:16 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Center tables in add modal (1.79 KB, patch)
2026-02-27 08:02 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 10190: Fix patron_categories permission format (1.08 KB, patch)
2026-02-27 10:11 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Melia Meggs 2013-05-03 21:47:34 UTC
Many libraries in my system lend DVDs out for a shorter period than their normal checkout period, like 2 days versus 14 or 21 days for other items. They also charge larger fines on DVDs than other items. They would like to be able to generate overdue notices for DVDs on the first day overdue, unlike the first notice generation of 7 days on their other items. 

So this is an enhancement request to allow libraries to generate an overdue notice for a particular item type separate from the three notice triggers.
Comment 1 Barton Chittenden 2015-08-18 03:51:32 UTC
This is standard behavior now, right?
Comment 2 Katrin Fischer 2015-08-23 19:42:50 UTC
Right now we can only set the overdue notices by patron category, but we can't differentiate by item type. I think this is still valid.
Comment 3 Amy Voorhees 2017-12-04 19:43:56 UTC
Here in 2017 still wishing for greater flexibility for overdue notices based on Item Type, not only Patron Category -- in our case (school library) for better communication about items on Reserve (in our case loan period is 2 hours).
Comment 4 Marjorie Barry-Vila 2022-02-25 18:16:05 UTC
+1
Comment 5 Eileen Chandler 2022-12-05 21:09:24 UTC
This is important in our consortium of mainly public libraries as our Library of Things (LoT) items go out for shorter periods of time and are overdue on a different time schedule to regular items like books.  We would like overdues to be based on item type not just patron type. We also have one college member library in our consortium and their items go out on for different time periods again based on Item type not just patron type.
Comment 6 Koha collecto 2024-05-31 19:26:56 UTC
+1
Comment 7 Martin Renvoize (ashimema) 2024-08-08 08:22:12 UTC
Matt and I are working on this together.. we're not too far off submitting code as per the spec above.. getting the API patches linked above through would certainly help it keep marching forward.
Comment 8 Martin Renvoize (ashimema) 2024-08-15 11:36:28 UTC Comment hidden (obsolete)
Comment 9 Martin Renvoize (ashimema) 2024-08-15 11:36:31 UTC Comment hidden (obsolete)
Comment 10 Martin Renvoize (ashimema) 2024-08-15 11:36:34 UTC Comment hidden (obsolete)
Comment 11 Martin Renvoize (ashimema) 2024-08-15 11:36:38 UTC Comment hidden (obsolete)
Comment 12 Martin Renvoize (ashimema) 2024-08-15 11:36:41 UTC Comment hidden (obsolete)
Comment 13 Martin Renvoize (ashimema) 2024-08-15 11:36:45 UTC Comment hidden (obsolete)
Comment 14 Martin Renvoize (ashimema) 2024-08-15 11:36:48 UTC Comment hidden (obsolete)
Comment 15 Martin Renvoize (ashimema) 2024-08-15 11:36:51 UTC Comment hidden (obsolete)
Comment 16 Martin Renvoize (ashimema) 2024-08-15 11:36:55 UTC Comment hidden (obsolete)
Comment 17 Martin Renvoize (ashimema) 2024-08-15 11:36:58 UTC Comment hidden (obsolete)
Comment 18 Martin Renvoize (ashimema) 2024-08-15 11:37:01 UTC Comment hidden (obsolete)
Comment 19 Martin Renvoize (ashimema) 2024-08-15 11:37:05 UTC Comment hidden (obsolete)
Comment 20 Martin Renvoize (ashimema) 2024-08-15 11:37:08 UTC Comment hidden (obsolete)
Comment 21 Martin Renvoize (ashimema) 2024-08-15 11:37:11 UTC Comment hidden (obsolete)
Comment 22 Martin Renvoize (ashimema) 2024-08-15 11:37:14 UTC Comment hidden (obsolete)
Comment 23 Martin Renvoize (ashimema) 2024-08-15 11:37:17 UTC Comment hidden (obsolete)
Comment 24 Martin Renvoize (ashimema) 2024-08-15 11:37:21 UTC Comment hidden (obsolete)
Comment 25 Martin Renvoize (ashimema) 2024-08-15 11:39:07 UTC
This is going to be fun to test..

Matt and I worked hard together on it, so whilst it's assigned to me we're both available to comment.

I'm happy to walk through intentions in a Jistsi or whatever.. reach out on chat.koha-community.org if you want any guidance.
Comment 26 Martin Renvoize (ashimema) 2024-08-15 11:52:38 UTC Comment hidden (obsolete)
Comment 27 Martin Renvoize (ashimema) 2024-08-15 11:54:11 UTC Comment hidden (obsolete)
Comment 28 Martin Renvoize (ashimema) 2024-08-15 11:56:01 UTC Comment hidden (obsolete)
Comment 29 Martin Renvoize (ashimema) 2024-08-15 13:37:45 UTC Comment hidden (obsolete)
Comment 30 Martin Renvoize (ashimema) 2024-08-15 13:38:48 UTC
Whilst I've updated the itiva script to reflect the move to circulation rules.. I've not got any way to really test this.

We also need to expose itiva in the new admin page.. I'm going to ask Matt to take a look at that.
Comment 31 Martin Renvoize (ashimema) 2024-08-16 13:09:52 UTC Comment hidden (obsolete)
Comment 32 Martin Renvoize (ashimema) 2024-09-19 11:13:23 UTC
https://github.com/PTFS-Europe/koha/tree/bug_10190_submission
Comment 33 Martin Renvoize (ashimema) 2024-09-19 11:18:09 UTC
I'm still cleaning up the commits and Matt and I are working on adding tests.

But, it's all working pretty well now and testing is ongoing in production at a customer site.

I've set up a sandbox for anyone wanting to have a play: https://staff-overdues.sandboxes.ptfs-europe.co.uk/

Test plan:

1) Head on over to either 'Tools > Overdue notice/status triggers' or 'Administration > Circulation triggers' (They're the same page)
2) Add a base ALL, ALL, ALL rule
3) Add rule overrides for various combinations of Library, Patron category and Item type
Comment 34 Martin Renvoize (ashimema) 2024-09-19 13:20:13 UTC Comment hidden (obsolete)
Comment 35 Martin Renvoize (ashimema) 2024-09-19 13:20:16 UTC Comment hidden (obsolete)
Comment 36 Martin Renvoize (ashimema) 2024-09-19 13:20:20 UTC Comment hidden (obsolete)
Comment 37 Martin Renvoize (ashimema) 2024-09-19 13:20:24 UTC Comment hidden (obsolete)
Comment 38 Martin Renvoize (ashimema) 2024-09-19 13:20:27 UTC Comment hidden (obsolete)
Comment 39 Martin Renvoize (ashimema) 2024-09-19 13:20:31 UTC Comment hidden (obsolete)
Comment 40 Martin Renvoize (ashimema) 2024-09-19 13:20:36 UTC Comment hidden (obsolete)
Comment 41 Martin Renvoize (ashimema) 2024-09-19 13:20:39 UTC Comment hidden (obsolete)
Comment 42 Martin Renvoize (ashimema) 2024-09-19 13:20:43 UTC Comment hidden (obsolete)
Comment 43 Martin Renvoize (ashimema) 2024-09-19 13:20:46 UTC Comment hidden (obsolete)
Comment 44 Martin Renvoize (ashimema) 2024-09-19 13:20:50 UTC Comment hidden (obsolete)
Comment 45 Martin Renvoize (ashimema) 2024-09-19 13:20:54 UTC Comment hidden (obsolete)
Comment 46 Martin Renvoize (ashimema) 2024-09-19 13:20:57 UTC Comment hidden (obsolete)
Comment 47 Martin Renvoize (ashimema) 2024-09-19 13:21:01 UTC Comment hidden (obsolete)
Comment 48 Martin Renvoize (ashimema) 2024-09-19 13:21:05 UTC Comment hidden (obsolete)
Comment 49 Martin Renvoize (ashimema) 2024-09-19 13:21:08 UTC Comment hidden (obsolete)
Comment 50 Martin Renvoize (ashimema) 2024-09-19 13:21:12 UTC Comment hidden (obsolete)
Comment 51 Martin Renvoize (ashimema) 2024-09-19 13:21:15 UTC Comment hidden (obsolete)
Comment 52 Martin Renvoize (ashimema) 2024-09-19 13:21:19 UTC Comment hidden (obsolete)
Comment 53 Martin Renvoize (ashimema) 2024-09-19 13:21:23 UTC Comment hidden (obsolete)
Comment 54 Martin Renvoize (ashimema) 2024-09-19 13:21:27 UTC Comment hidden (obsolete)
Comment 55 Martin Renvoize (ashimema) 2024-09-19 13:21:31 UTC Comment hidden (obsolete)
Comment 56 Martin Renvoize (ashimema) 2024-09-19 13:21:36 UTC Comment hidden (obsolete)
Comment 57 Martin Renvoize (ashimema) 2024-09-19 13:21:39 UTC Comment hidden (obsolete)
Comment 58 Martin Renvoize (ashimema) 2024-09-19 13:21:44 UTC Comment hidden (obsolete)
Comment 59 Martin Renvoize (ashimema) 2024-09-19 13:21:48 UTC Comment hidden (obsolete)
Comment 60 Martin Renvoize (ashimema) 2024-09-19 13:21:52 UTC Comment hidden (obsolete)
Comment 61 Martin Renvoize (ashimema) 2024-09-19 13:21:56 UTC Comment hidden (obsolete)
Comment 62 Martin Renvoize (ashimema) 2024-09-19 13:22:00 UTC Comment hidden (obsolete)
Comment 63 Martin Renvoize (ashimema) 2024-09-19 13:25:09 UTC
This is all ready for testing now and can be done using the sandbox above, a fresh sandbox or a local dev env.
Comment 64 Laurence Rault 2024-09-26 19:26:09 UTC
Installed on sandboxes : updatedatabase error, problem of foreign key constraint
Comment 65 Martin Renvoize (ashimema) 2024-09-27 15:48:21 UTC
Notes from Nick Clemens at KohaCon24
* Use syspref for 'All libraries' or 'Logged in library' by default - DefaultToLoggedInLibraryOverdueTriggers
* We should not be able to save a notice without a transport type (including aking into account fallbacks)
* Note about whether we're talking aobut 'patrons home library' or 'items home library'
* If a notice template is only set up for one library only display it in the notice dropdown when in that context
* Can we expose somewhere the list of all notice trigger context combinations..
Comment 66 Martin Renvoize (ashimema) 2024-10-10 14:39:09 UTC Comment hidden (obsolete)
Comment 67 Martin Renvoize (ashimema) 2024-10-10 14:39:13 UTC Comment hidden (obsolete)
Comment 68 Martin Renvoize (ashimema) 2024-10-10 14:39:16 UTC Comment hidden (obsolete)
Comment 69 Martin Renvoize (ashimema) 2024-10-10 14:39:20 UTC Comment hidden (obsolete)
Comment 70 Martin Renvoize (ashimema) 2024-10-10 14:39:24 UTC Comment hidden (obsolete)
Comment 71 Martin Renvoize (ashimema) 2024-10-10 14:39:28 UTC Comment hidden (obsolete)
Comment 72 Martin Renvoize (ashimema) 2024-10-10 14:39:32 UTC Comment hidden (obsolete)
Comment 73 Martin Renvoize (ashimema) 2024-10-10 14:39:36 UTC Comment hidden (obsolete)
Comment 74 Martin Renvoize (ashimema) 2024-10-10 14:39:40 UTC Comment hidden (obsolete)
Comment 75 Martin Renvoize (ashimema) 2024-10-10 14:39:44 UTC Comment hidden (obsolete)
Comment 76 Martin Renvoize (ashimema) 2024-10-10 14:39:47 UTC Comment hidden (obsolete)
Comment 77 Martin Renvoize (ashimema) 2024-10-10 14:39:51 UTC Comment hidden (obsolete)
Comment 78 Martin Renvoize (ashimema) 2024-10-10 14:39:54 UTC Comment hidden (obsolete)
Comment 79 Martin Renvoize (ashimema) 2024-10-10 14:39:58 UTC Comment hidden (obsolete)
Comment 80 Martin Renvoize (ashimema) 2024-10-10 14:40:02 UTC Comment hidden (obsolete)
Comment 81 Martin Renvoize (ashimema) 2024-10-10 14:40:06 UTC Comment hidden (obsolete)
Comment 82 Martin Renvoize (ashimema) 2024-10-10 14:40:10 UTC Comment hidden (obsolete)
Comment 83 Martin Renvoize (ashimema) 2024-10-10 14:40:14 UTC Comment hidden (obsolete)
Comment 84 Martin Renvoize (ashimema) 2024-10-10 14:40:18 UTC Comment hidden (obsolete)
Comment 85 Martin Renvoize (ashimema) 2024-10-10 14:40:22 UTC Comment hidden (obsolete)
Comment 86 Martin Renvoize (ashimema) 2024-10-10 14:40:25 UTC Comment hidden (obsolete)
Comment 87 Martin Renvoize (ashimema) 2024-10-10 14:40:29 UTC Comment hidden (obsolete)
Comment 88 Martin Renvoize (ashimema) 2024-10-10 14:40:34 UTC Comment hidden (obsolete)
Comment 89 Martin Renvoize (ashimema) 2024-10-10 14:40:37 UTC Comment hidden (obsolete)
Comment 90 Martin Renvoize (ashimema) 2024-10-10 14:40:41 UTC Comment hidden (obsolete)
Comment 91 Martin Renvoize (ashimema) 2024-10-10 14:40:45 UTC Comment hidden (obsolete)
Comment 92 Martin Renvoize (ashimema) 2024-10-10 14:40:50 UTC Comment hidden (obsolete)
Comment 93 Martin Renvoize (ashimema) 2024-10-10 14:40:53 UTC Comment hidden (obsolete)
Comment 94 Martin Renvoize (ashimema) 2024-10-10 14:40:57 UTC Comment hidden (obsolete)
Comment 95 Martin Renvoize (ashimema) 2024-10-10 14:41:01 UTC Comment hidden (obsolete)
Comment 96 Martin Renvoize (ashimema) 2024-10-10 14:41:05 UTC Comment hidden (obsolete)
Comment 97 Martin Renvoize (ashimema) 2024-10-10 14:41:10 UTC Comment hidden (obsolete)
Comment 98 Martin Renvoize (ashimema) 2024-10-10 16:13:06 UTC Comment hidden (obsolete)
Comment 99 Martin Renvoize (ashimema) 2024-10-10 16:19:28 UTC Comment hidden (obsolete)
Comment 100 Martin Renvoize (ashimema) 2024-10-10 16:19:32 UTC Comment hidden (obsolete)
Comment 101 Martin Renvoize (ashimema) 2024-10-10 16:19:36 UTC Comment hidden (obsolete)
Comment 102 Martin Renvoize (ashimema) 2024-10-10 16:19:41 UTC Comment hidden (obsolete)
Comment 103 Martin Renvoize (ashimema) 2024-10-10 16:19:45 UTC Comment hidden (obsolete)
Comment 104 Martin Renvoize (ashimema) 2024-10-10 16:19:49 UTC Comment hidden (obsolete)
Comment 105 Martin Renvoize (ashimema) 2024-10-10 16:19:53 UTC Comment hidden (obsolete)
Comment 106 Martin Renvoize (ashimema) 2024-10-10 16:19:57 UTC Comment hidden (obsolete)
Comment 107 Martin Renvoize (ashimema) 2024-10-10 16:20:01 UTC Comment hidden (obsolete)
Comment 108 Martin Renvoize (ashimema) 2024-10-10 16:20:04 UTC Comment hidden (obsolete)
Comment 109 Martin Renvoize (ashimema) 2024-10-10 16:20:08 UTC Comment hidden (obsolete)
Comment 110 Martin Renvoize (ashimema) 2024-10-10 16:20:12 UTC Comment hidden (obsolete)
Comment 111 Martin Renvoize (ashimema) 2024-10-10 16:20:16 UTC Comment hidden (obsolete)
Comment 112 Martin Renvoize (ashimema) 2024-10-10 16:20:21 UTC Comment hidden (obsolete)
Comment 113 Martin Renvoize (ashimema) 2024-10-10 16:20:24 UTC Comment hidden (obsolete)
Comment 114 Martin Renvoize (ashimema) 2024-10-10 16:20:29 UTC Comment hidden (obsolete)
Comment 115 Martin Renvoize (ashimema) 2024-10-10 16:20:33 UTC Comment hidden (obsolete)
Comment 116 Martin Renvoize (ashimema) 2024-10-10 16:20:36 UTC Comment hidden (obsolete)
Comment 117 Martin Renvoize (ashimema) 2024-10-10 16:20:40 UTC Comment hidden (obsolete)
Comment 118 Martin Renvoize (ashimema) 2024-10-10 16:20:44 UTC Comment hidden (obsolete)
Comment 119 Martin Renvoize (ashimema) 2024-10-10 16:20:48 UTC Comment hidden (obsolete)
Comment 120 Martin Renvoize (ashimema) 2024-10-10 16:20:53 UTC Comment hidden (obsolete)
Comment 121 Martin Renvoize (ashimema) 2024-10-10 16:20:57 UTC Comment hidden (obsolete)
Comment 122 Martin Renvoize (ashimema) 2024-10-10 16:21:01 UTC Comment hidden (obsolete)
Comment 123 Martin Renvoize (ashimema) 2024-10-10 16:21:05 UTC Comment hidden (obsolete)
Comment 124 Martin Renvoize (ashimema) 2024-10-10 16:21:10 UTC Comment hidden (obsolete)
Comment 125 Martin Renvoize (ashimema) 2024-10-10 16:21:13 UTC Comment hidden (obsolete)
Comment 126 Martin Renvoize (ashimema) 2024-10-10 16:21:17 UTC Comment hidden (obsolete)
Comment 127 Martin Renvoize (ashimema) 2024-10-10 16:21:21 UTC Comment hidden (obsolete)
Comment 128 Martin Renvoize (ashimema) 2024-10-10 16:21:25 UTC Comment hidden (obsolete)
Comment 129 Martin Renvoize (ashimema) 2024-10-10 16:21:29 UTC Comment hidden (obsolete)
Comment 130 Martin Renvoize (ashimema) 2024-10-10 16:21:32 UTC Comment hidden (obsolete)
Comment 131 Martin Renvoize (ashimema) 2024-10-10 16:21:36 UTC Comment hidden (obsolete)
Comment 132 Martin Renvoize (ashimema) 2024-10-23 13:52:25 UTC
(In reply to Martin Renvoize (ashimema) from comment #65)
> Notes from Nick Clemens at KohaCon24
> * Use syspref for 'All libraries' or 'Logged in library' by default -
> DefaultToLoggedInLibraryOverdueTriggers

DONE

> * Note about whether we're talking aobut 'patrons home library' or 'items
> home library'

DONE

> * If a notice template is only set up for one library only display it in the
> notice dropdown when in that context

DONE

> * Can we expose somewhere the list of all notice trigger context
> combinations..

In a follow-up bug I reckon.
Comment 133 Martin Renvoize (ashimema) 2025-02-25 11:56:47 UTC Comment hidden (obsolete)
Comment 134 Martin Renvoize (ashimema) 2025-02-25 11:56:51 UTC Comment hidden (obsolete)
Comment 135 Martin Renvoize (ashimema) 2025-02-25 11:56:55 UTC Comment hidden (obsolete)
Comment 136 Martin Renvoize (ashimema) 2025-02-25 11:57:00 UTC Comment hidden (obsolete)
Comment 137 Martin Renvoize (ashimema) 2025-02-25 11:57:04 UTC Comment hidden (obsolete)
Comment 138 Martin Renvoize (ashimema) 2025-02-25 11:57:08 UTC Comment hidden (obsolete)
Comment 139 Martin Renvoize (ashimema) 2025-02-25 11:57:12 UTC Comment hidden (obsolete)
Comment 140 Martin Renvoize (ashimema) 2025-02-25 11:57:17 UTC Comment hidden (obsolete)
Comment 141 Martin Renvoize (ashimema) 2025-02-25 11:57:21 UTC Comment hidden (obsolete)
Comment 142 Martin Renvoize (ashimema) 2025-02-25 11:57:25 UTC Comment hidden (obsolete)
Comment 143 Martin Renvoize (ashimema) 2025-02-25 11:57:29 UTC Comment hidden (obsolete)
Comment 144 Martin Renvoize (ashimema) 2025-02-25 11:57:33 UTC Comment hidden (obsolete)
Comment 145 Martin Renvoize (ashimema) 2025-02-25 11:57:37 UTC Comment hidden (obsolete)
Comment 146 Martin Renvoize (ashimema) 2025-02-25 11:57:41 UTC Comment hidden (obsolete)
Comment 147 Martin Renvoize (ashimema) 2025-02-25 11:57:46 UTC Comment hidden (obsolete)
Comment 148 Martin Renvoize (ashimema) 2025-02-25 11:57:50 UTC Comment hidden (obsolete)
Comment 149 Martin Renvoize (ashimema) 2025-02-25 11:57:55 UTC Comment hidden (obsolete)
Comment 150 Martin Renvoize (ashimema) 2025-02-25 11:57:59 UTC Comment hidden (obsolete)
Comment 151 Martin Renvoize (ashimema) 2025-02-25 11:58:03 UTC Comment hidden (obsolete)
Comment 152 Martin Renvoize (ashimema) 2025-02-25 11:58:07 UTC Comment hidden (obsolete)
Comment 153 Martin Renvoize (ashimema) 2025-02-25 11:58:12 UTC Comment hidden (obsolete)
Comment 154 Martin Renvoize (ashimema) 2025-02-25 11:58:16 UTC Comment hidden (obsolete)
Comment 155 Martin Renvoize (ashimema) 2025-02-25 11:58:20 UTC Comment hidden (obsolete)
Comment 156 Martin Renvoize (ashimema) 2025-02-25 11:58:25 UTC Comment hidden (obsolete)
Comment 157 Martin Renvoize (ashimema) 2025-02-25 11:58:29 UTC Comment hidden (obsolete)
Comment 158 Martin Renvoize (ashimema) 2025-02-25 11:58:33 UTC Comment hidden (obsolete)
Comment 159 Martin Renvoize (ashimema) 2025-02-25 11:58:38 UTC Comment hidden (obsolete)
Comment 160 Martin Renvoize (ashimema) 2025-02-25 11:58:42 UTC Comment hidden (obsolete)
Comment 161 Martin Renvoize (ashimema) 2025-02-25 11:58:46 UTC Comment hidden (obsolete)
Comment 162 Martin Renvoize (ashimema) 2025-02-25 11:58:50 UTC Comment hidden (obsolete)
Comment 163 Martin Renvoize (ashimema) 2025-02-25 11:58:55 UTC Comment hidden (obsolete)
Comment 164 Martin Renvoize (ashimema) 2025-02-25 11:58:59 UTC Comment hidden (obsolete)
Comment 165 Martin Renvoize (ashimema) 2025-02-25 11:59:03 UTC Comment hidden (obsolete)
Comment 166 Victor Grousset/tuxayo 2025-02-26 23:23:39 UTC
Comment on attachment 178644 [details] [review]
Bug 10190: DBIC Schema update

Review of attachment 178644 [details] [review]:
-----------------------------------------------------------------

::: Koha/Schema/Result/MessageTransportType.pm
@@ +133,5 @@
>  );
>  
>  
> +# Created by DBIx::Class::Schema::Loader v0.07051 @ 2024-08-15 11:53:13
> +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Bx96QiqHxZ9SNbgK8dSwMg

There are no manual changes to split in separate commit. Whole commit should be marked as [DO NOT PUSH] https://wiki.koha-community.org/wiki/Database_updates#Files_to_change
Comment 167 Victor Grousset/tuxayo 2025-02-26 23:25:43 UTC
updatedatabase doesn't work:
(have a koha on main, apply the patches and update)

$ updatedatabase
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl  [23:24:08]: Bug 10190 - Migrate overduerules to circulation_rules
        Inserting :undef: default most frequent delay for overdue_1:
        Inserting :undef:undef default most frequent notice for overdue_1:
        Inserting :undef:undef default most frequent mtt for overdue_1:
        Inserting :undef:undef default most frequent restrict for overdue_1: 0
        Inserting :undef: default most frequent delay for overdue_2:
        Inserting :undef:undef default most frequent notice for overdue_2:
        Inserting :undef:undef default most frequent mtt for overdue_2:
        Inserting :undef:undef default most frequent restrict for overdue_2: 0
        Inserting :undef: default most frequent delay for overdue_3:
        Inserting :undef:undef default most frequent notice for overdue_3:
        Inserting :undef:undef default most frequent mtt for overdue_3:
        Inserting :undef:undef default most frequent restrict for overdue_3: 0
        ERROR: {UNKNOWN}: DBI Exception: DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /kohadevbox/koha/C4/Installer.pm line 771
Comment 168 Victor Grousset/tuxayo 2025-02-26 23:26:36 UTC
MariaDB 10.5.26 in case that matters.
Comment 169 Victor Grousset/tuxayo 2025-02-26 23:44:58 UTC
Comment on attachment 178648 [details] [review]
Bug 10190: Add a vue app for circulation triggers

Review of attachment 178648 [details] [review]:
-----------------------------------------------------------------

::: koha-tmpl/intranet-tmpl/prog/en/modules/admin/circulation_triggers.tt
@@ +25,5 @@
> +    <!-- this is closed in intranet-bottom.inc -->
> +
> +    [% MACRO jsinclude BLOCK %]
> +        [% INCLUDE 'calendar.inc' %]
> +        <!-- FIXME: this shouldn't be needed -->

Is the FIXME for calendar.inc above or datatables.inc bellow or the 4 includes below?
Comment 170 Martin Renvoize (ashimema) 2025-03-03 12:22:46 UTC
(In reply to Victor Grousset/tuxayo from comment #169)
> Comment on attachment 178648 [details] [review] [review]
> Bug 10190: Add a vue app for circulation triggers
> 
> Review of attachment 178648 [details] [review] [review]:
> -----------------------------------------------------------------
> 
> ::: koha-tmpl/intranet-tmpl/prog/en/modules/admin/circulation_triggers.tt
> @@ +25,5 @@
> > +    <!-- this is closed in intranet-bottom.inc -->
> > +
> > +    [% MACRO jsinclude BLOCK %]
> > +        [% INCLUDE 'calendar.inc' %]
> > +        <!-- FIXME: this shouldn't be needed -->
> 
> Is the FIXME for calendar.inc above or datatables.inc bellow or the 4
> includes below?

It was for calendar.inc and if you look at the other vue apps, it's consistent throughout them so far.
Comment 171 Caroline Cyr La Rose 2025-04-25 18:34:25 UTC
*** Bug 12772 has been marked as a duplicate of this bug. ***
Comment 172 Caroline Cyr La Rose 2025-04-25 18:47:03 UTC
I wanted to see what it looked like, but unfortunately, the patch doesn't apply anymore...
Comment 173 Martin Renvoize (ashimema) 2025-05-01 15:58:41 UTC
Koha's been moving so fast.. probably best to use the public branch for this: https://github.com/openfifth/koha/tree/bug_10190_submission-rebased
Comment 174 Martin Renvoize (ashimema) 2025-09-23 08:18:39 UTC
We've been reworking this considerably, given live use feedback.  Chloe's taken over the reins, so I'm updating the assignee, but the reality is Chloe, Matt, and I have all done a lot of work between us on this one.
Comment 175 Martin Renvoize (ashimema) 2025-10-17 13:57:58 UTC Comment hidden (obsolete)
Comment 176 Martin Renvoize (ashimema) 2025-10-17 13:58:03 UTC Comment hidden (obsolete)
Comment 177 Martin Renvoize (ashimema) 2025-10-17 13:58:07 UTC Comment hidden (obsolete)
Comment 178 Martin Renvoize (ashimema) 2025-10-17 13:58:11 UTC Comment hidden (obsolete)
Comment 179 Martin Renvoize (ashimema) 2025-10-17 13:58:16 UTC Comment hidden (obsolete)
Comment 180 Martin Renvoize (ashimema) 2025-10-17 13:58:20 UTC Comment hidden (obsolete)
Comment 181 Martin Renvoize (ashimema) 2025-10-17 13:58:24 UTC Comment hidden (obsolete)
Comment 182 Martin Renvoize (ashimema) 2025-10-17 13:58:28 UTC Comment hidden (obsolete)
Comment 183 Martin Renvoize (ashimema) 2025-10-17 13:58:32 UTC
Created attachment 188083 [details] [review]
Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface

This patch introduces a modern Vue.js-based interface for managing circulation triggers (overdue notice/status triggers), replacing the legacy Tools-based interface with a more intuitive, feature-rich administration page.

New Features

Enhanced Visibility & Navigation
- Exhaustive effective rule lists showing all rules that apply to each context
- Toggle between "all exhaustive rules" and "explicitly set rules" views
- Advanced filtering by patron category and/or item type
- Clear display of fallback/default rules for each context

Rule Management Actions
- Delete triggers (last trigger in a sequence for any given library)
- Reset entire rule sets for a given context (with safeguards)
- Edit existing triggers with improved context awareness
- Add new triggers with intelligent delay constraints

Improved User Experience
- Multi-step form wizard with clear workflow progression
- Context-aware letter template filtering (only shows applicable templates)
- Placeholder values showing fallback rules when clearing inputs
- Dynamic min/max constraints for delay values based on neighboring triggers
- Real-time form validation and feedback
- Partial page reloads (only reload affected sections, not entire page)
- Specific loading messages for different operations

Technical Improvements
- Centralized Vuex store for state management
- Reusable CirculationTriggersForm component
- API clients for libraries, circulation rules, item types, and patron categories
- Consistent async/await pattern throughout
- Separation of repositories, utilities, and services
- Improved naming consistency and code maintainability
- "Dumb" TriggersTable component for better separation of concerns

Test Plan

Prerequisites
1. Log in to staff interface with appropriate permissions (tools_edit_notice_status_triggers)
2. Ensure you have test data: multiple libraries, patron categories, item types, and notice templates
3. Navigate to Administration > Circulation triggers (new interface)

Part 1: Basic Navigation & Interface
1. Verify the new "Circulation triggers" link appears in Administration home under the Circulation section
2. Access the new interface and confirm it loads successfully
3. Verify the default view shows either "All libraries" or your logged-in library based on DefaultToLoggedInLibraryOverdueTriggers system preference
4. Confirm the interface displays a list of triggers organized by context (library/patron category/item type combinations)

Part 2: Viewing and Filtering Rules
1. Toggle between "All exhaustive rules" and "Explicitly set rules" views
  - Verify "All exhaustive rules" shows inherited/fallback rules
  - Verify "Explicitly set rules" shows only rules you've specifically configured
2. Test the patron category filter:
  - Select a specific patron category
  - Confirm only rules for that category are displayed
3. Test the item type filter:
  - Select a specific item type
  - Confirm only rules for that item type are displayed
4. Test combined filters (patron category + item type simultaneously)
5. Clear filters and verify all rules display again

Part 3: Adding New Triggers
1. Click "Add trigger" button
2. Step 1 - Confirm Context:
  - Select Library (required)
  - Select Patron category (required)
  - Select Item type (required)
  - Click "Confirm context"
3. Step 2 - Review Existing Triggers:
  - Verify existing triggers for this context are displayed
  - Note the trigger numbers and delays
4. Step 3 - Configure New Trigger:
  - Enter a delay value (should be constrained by neighboring triggers)
  - Try entering an invalid delay (too low or too high) - verify validation
  - Set "Restricts checkouts" (Yes/No/Fallback to default)
  - Note the placeholder showing the fallback value
  - Select a letter template
  - Verify only templates for the selected library context appear
  - Set "Debarring" options if desired
  - Select "Charged notice fees" if applicable
5. Submit the form
6. Verify the new trigger appears in the list without a full page reload
7. Verify success message is displayed

Part 4: Editing Existing Triggers
1. Locate an existing trigger in the list
2. Click the edit icon/button
3. Verify the form pre-populates with existing values
4. Test delay modification:
  - Try changing the delay within valid bounds - should succeed
  - Try changing delay beyond neighboring triggers - should show validation error
  - Use the increment/decrement buttons to adjust delay
5. Test clearing values:
  - Clear a field (e.g., delay or restrict checkouts)
  - Verify placeholder shows the fallback/default value
  - Submit with cleared value - should save as null and inherit fallback
6. Change the letter template to a different valid template
7. Submit changes
8. Verify the trigger updates in the list without full page reload
9. Verify the changes persist after refreshing the page

Part 5: Deleting Triggers
1. Identify a trigger that is the last in its sequence
2. Click the delete button/icon
3. Verify a confirmation dialog appears
4. Confirm deletion
5. Verify the trigger is removed from the list without page reload
6. Verify the deletion persists after page refresh
7. Test delete constraints:
  - Try to delete a trigger that's not the last in sequence
  - Verify appropriate error/warning message

Part 6: Resetting Rule Sets
1. Locate a context with explicitly set rules (not just inherited)
2. Ensure this is not the only rule set for this trigger sequence
3. Click the "Reset" button for that context
4. Verify confirmation dialog explains what will be reset
5. Confirm the reset
6. Verify the explicit rules are removed and context now shows inherited rules
7. Verify changes persist after page refresh
8. Test reset constraints:
  - Try to reset when it would leave no rules for that trigger
  - Verify appropriate warning/prevention

Part 7: Context-Specific Behavior
1. Test library-specific letter filtering:
  - Create/edit a trigger for a specific library
  - Verify only letter templates with matching branchcode or default templates appear
  - Switch to a different library context
  - Verify the letter list updates accordingly
2. Test default rules:
  - View rules for "All libraries" / "All patron categories" / "All item types"
  - Verify these are labeled as "Default rule for [context]"
  - Confirm these serve as fallback for more specific rules
3. Test DefaultToLoggedInLibraryOverdueTriggers preference:
  - Set preference to "Yes"
  - Reload circulation triggers page
  - Verify it defaults to your logged-in library
  - Set preference to "No"
  - Verify it defaults to "All libraries"

Part 8: Form Workflow & Validation
1. Test required fields:
  - Try submitting add/edit form without selecting library - should fail
  - Try submitting without patron category - should fail
  - Try submitting without item type - should fail
2. Test stepper navigation:
  - Start adding a trigger
  - Verify you must confirm context before proceeding
  - Verify you see existing triggers before editing/adding
  - Verify trigger form only appears after context confirmation
3. Test cancellation:
  - Start adding/editing a trigger
  - Click Cancel
  - Verify you return to the list without changes
  - Verify no partial data was saved

Part 9: Loading States & Messages
1. On slow connections or with many rules:
  - Verify "Loading context..." appears while fetching context data
  - Verify "Loading rule set information..." appears while fetching rules
  - Verify section-specific loading messages appear during updates
2. After form submission:
  - Verify appropriate success/error messages display
  - Verify loading indicators during async operations

Part 10: Permissions
1. Log in as a user without tools_edit_notice_status_triggers permission
2. Verify the "Circulation triggers" link does not appear in Administration
3. Try accessing /cgi-bin/koha/admin/circulation_triggers directly
4. Verify access is denied

Part 11: Data Integrity & Persistence
1. Create a complex set of rules with multiple triggers across different contexts
2. Refresh the page and verify all rules persist
3. Restart the Koha services
4. Verify all rules still display correctly
5. Check the database circulation_rules table:
  - Verify rules are stored with correct rule_name pattern (overdue_1_delay, etc.)
  - Verify null values are properly stored for inheritance
  - Verify the overdue_X_has_rules rule kind is present

Part 12: Edge Cases
1. Test with no existing triggers - verify empty state message
2. Test with maximum trigger sequences (e.g., trigger 1, 2, 3)
3. Test rapid successive edits
4. Test with special characters in letter template names
5. Test browser back/forward buttons during form workflow

Part 13: Comparison with Legacy Interface
1. Access the old interface if still available (via Tools menu)
2. Create a trigger using the new interface
3. Verify it appears correctly in the old interface (if applicable)
4. Create a trigger using the old interface (if still available)
5. Verify it appears correctly in the new interface

---
Notes for QA

- This is a complete UI rewrite; the underlying API remains unchanged
- The interface is mobile-responsive and should be tested on various screen sizes
- Vue.js components are compiled via Rspack; run yarn build after pulling
- All existing circulation trigger functionality should continue to work
- The URL rewrite rule ensures /admin/circulation_triggers routes correctly

Sponsored-by: Glasgow Colleges Library Group <https://library.cityofglasgowcollege.ac.uk>
Co-authored-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Co-authored-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: George Harkins <George.Harkins@cityofglasgowcollege.ac.uk>
Comment 184 Martin Renvoize (ashimema) 2025-10-17 13:58:37 UTC Comment hidden (obsolete)
Comment 185 Martin Renvoize (ashimema) 2025-10-17 13:58:41 UTC Comment hidden (obsolete)
Comment 186 Martin Renvoize (ashimema) 2025-10-17 13:58:45 UTC Comment hidden (obsolete)
Comment 187 Martin Renvoize (ashimema) 2025-10-17 13:58:49 UTC Comment hidden (obsolete)
Comment 188 Martin Renvoize (ashimema) 2025-10-17 14:01:06 UTC Comment hidden (obsolete)
Comment 189 Michaela Sieber 2025-10-27 09:35:13 UTC
As  Victor Grousset/tuxayo wrote  in Comment 167 (2025-02-26) 

updatedatabase doesn't work:
(have a koha on main, apply the patches and update)

$ updatedatabase

Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl [08:57:11]: Bug 10190 - Migrate overduerules to circulation_rules
Inserting :undef: default most frequent delay for overdue_1:
Inserting :undef:undef default most frequent notice for overdue_1:
Inserting :undef:undef default most frequent mtt for overdue_1:
Inserting :undef:undef default most frequent restrict for overdue_1: 0
Inserting :undef: default most frequent delay for overdue_2:
Inserting :undef:undef default most frequent notice for overdue_2:
Inserting :undef:undef default most frequent mtt for overdue_2:
Inserting :undef:undef default most frequent restrict for overdue_2: 0
Inserting :undef: default most frequent delay for overdue_3:
Inserting :undef:undef default most frequent notice for overdue_3:
Inserting :undef:undef default most frequent mtt for overdue_3:
Inserting :undef:undef default most frequent restrict for overdue_3: 0

ERROR: {UNKNOWN}: DBI Exception: DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /kohadevbox/koha/C4/Installer.pm line 825
Comment 190 Pedro Amorim 2025-10-27 14:25:42 UTC Comment hidden (obsolete)
Comment 191 Pedro Amorim 2025-10-27 14:26:57 UTC
(In reply to Pedro Amorim from comment #190)
> Created attachment 188476 [details] [review] [review]
> Bug 10190: (QA follow-up): Fix removal of tables

This fixes the database error but does not address the undef warnings.
Comment 192 Pedro Amorim 2025-10-27 16:43:22 UTC
To have it working on a upgrade, I had to run the following:
Apply patches
$ updatabase
$ yarn js:build
$ sudo perl /kohadevbox/misc4dev/cp_debian_files.pl --instance=kohadev --koha_dir=/kohadevbox/koha --gitify_dir=/kohadevbox/gitify
$ restart_all

The cp_debian_files.pl is required or else the URL always returns 404:
http://localhost:8081/cgi-bin/koha/admin/circulation_triggers

I believe this is why applying patches and doing reset_all, but applying patches and doing restart_all does not, it's missing the cp_debian_files part, which I believe copies debian/templates/apache-shared-intranet.conf‎ among other files.

It is now producing a JavaScript error on the console though, which may or may not highlight an issue with the data migration script.
Comment 193 Michaela Sieber 2025-10-28 17:27:01 UTC
We tested several hours and I will provide more feedback this week but here are the most relevant Bugs we found:

1.) Migration scenario

have some overdue rule, then apply the patch and do updatabase and yarn buid

Error 404 in staff interface 

Please see Pedros comment 192 

In your testplan in comment 183 you write in

Part 11: Data Integrity & Persistence
5. Check the database circulation_rules table:
 - Verify the overdue_X_has_rules rule kind is present

Is this the missing piece for the migrated data ?


2.) Adding a trigger for a combination that exists in circ rules

it is not possible to configure an overdue trigger with a combination that already exists as a circulation rule.

Example to reproduce in ktd with test data:

- Go to circ rules (/cgi-bin/koha/admin/smart-rules.pl) 
 - Set a rule for All Libraries / All patron categories / Itemtype Books
 - Check via SQL: select * from circulation_rules
- Go to overdue rules (/cgi-bin/koha/admin/circulation_triggers )
 - Set a rule for All Libraries / All patron categories / All Itemtype
 - Now try to edit the delay for the applied rule 
   with combination All Libraries / All patron categories / Itemtype Books
   --> Message in blue box "Your changes could not be saved as this circulation
       trigger was updated elsewhere. Please see the updated trigger below."
   It is not possible to save / submit
 - Now edit the delay for the applied rule 
   with combination All Libraries / Patron category Homebound / Itemtype Books
   --> You can save without problems, if this combination does not exist in the database table circulation_rules


3.) Permissions Error if you are not an admin

The Overlay rules are part of the tools and also the permission is part of the tools section. That means that it was enough to give users the edit_notice_status_triggers permission, it was not neccessary to give any administration permission (parameters) .
Now you moved the overdue triggers to administration.

If you now log in as a person with edit_notice_status_triggers permission you can see the tools module and click on the menu for overdue triggers but then you get the error message "Something went wrong: Error: Authorization failure. Missing required permission(s)."


4.) Edit an existing trigger does not pull delay from database

Edit an existing trigger and check that the delay value is 0 , it is not pulled from the database. This is confusing and dangerous because you see the delay value just a few centimeters above in the table.
If you save the form, the value in the database is overwritten with 0.

To reproduce: follow testplan in comment 183 Part 4.3
Comment 194 Chloé Zermatten 2025-11-05 09:27:51 UTC
(In reply to Michaela Sieber from comment #193)
> We tested several hours and I will provide more feedback this week but here
> are the most relevant Bugs we found:
> 
> 1.) Migration scenario
> 
> have some overdue rule, then apply the patch and do updatabase and yarn buid
> 
> Error 404 in staff interface 
> 
> Please see Pedros comment 192 
> 
> In your testplan in comment 183 you write in
> 
> Part 11: Data Integrity & Persistence
> 5. Check the database circulation_rules table:
>  - Verify the overdue_X_has_rules rule kind is present
> 
> Is this the missing piece for the migrated data ?
> 
> 
> 2.) Adding a trigger for a combination that exists in circ rules
> 
> it is not possible to configure an overdue trigger with a combination that
> already exists as a circulation rule.
> 
> Example to reproduce in ktd with test data:
> 
> - Go to circ rules (/cgi-bin/koha/admin/smart-rules.pl) 
>  - Set a rule for All Libraries / All patron categories / Itemtype Books
>  - Check via SQL: select * from circulation_rules
> - Go to overdue rules (/cgi-bin/koha/admin/circulation_triggers )
>  - Set a rule for All Libraries / All patron categories / All Itemtype
>  - Now try to edit the delay for the applied rule 
>    with combination All Libraries / All patron categories / Itemtype Books
>    --> Message in blue box "Your changes could not be saved as this
> circulation
>        trigger was updated elsewhere. Please see the updated trigger below."
>    It is not possible to save / submit
>  - Now edit the delay for the applied rule 
>    with combination All Libraries / Patron category Homebound / Itemtype
> Books
>    --> You can save without problems, if this combination does not exist in
> the database table circulation_rules
> 
> 
> 3.) Permissions Error if you are not an admin
> 
> The Overlay rules are part of the tools and also the permission is part of
> the tools section. That means that it was enough to give users the
> edit_notice_status_triggers permission, it was not neccessary to give any
> administration permission (parameters) .
> Now you moved the overdue triggers to administration.
> 
> If you now log in as a person with edit_notice_status_triggers permission
> you can see the tools module and click on the menu for overdue triggers but
> then you get the error message "Something went wrong: Error: Authorization
> failure. Missing required permission(s)."
> 
> 
> 4.) Edit an existing trigger does not pull delay from database
> 
> Edit an existing trigger and check that the delay value is 0 , it is not
> pulled from the database. This is confusing and dangerous because you see
> the delay value just a few centimeters above in the table.
> If you save the form, the value in the database is overwritten with 0.
> 
> To reproduce: follow testplan in comment 183 Part 4.3

Thank you for the testing and feedback, much appreciated!


Re - 1.) overdue_X_has_rules is a property indicating that some rule(s) exist for a given context/trigger number combination. The most recent version of the integration ensure it is created whenever any rule is created for a given context/trigger number combination. The staff clients relies on this to ascertain whether a rule set exists efficiently.
I think the solution might be to have it added to each existing context/trigger number combination - would that be sensible?

2., 3., and 4.: I will do some debugging and put patches together for those, many thanks for reporting them!
Comment 195 Chloé Zermatten 2025-11-07 15:34:50 UTC Comment hidden (obsolete)
Comment 196 Chloé Zermatten 2025-11-07 15:40:34 UTC
(In reply to Chloé Zermatten from comment #194)
> (In reply to Michaela Sieber from comment #193)
> > We tested several hours and I will provide more feedback this week but here
> > are the most relevant Bugs we found:
> > 
> > 1.) Migration scenario
> > 
> > have some overdue rule, then apply the patch and do updatabase and yarn buid
> > 
> > Error 404 in staff interface 
> > 
> > Please see Pedros comment 192 
> > 
> > In your testplan in comment 183 you write in
> > 
> > Part 11: Data Integrity & Persistence
> > 5. Check the database circulation_rules table:
> >  - Verify the overdue_X_has_rules rule kind is present
> > 
> > Is this the missing piece for the migrated data ?
> > 
> > 
> > 2.) Adding a trigger for a combination that exists in circ rules
> > 
> > it is not possible to configure an overdue trigger with a combination that
> > already exists as a circulation rule.
> > 
> > Example to reproduce in ktd with test data:
> > 
> > - Go to circ rules (/cgi-bin/koha/admin/smart-rules.pl) 
> >  - Set a rule for All Libraries / All patron categories / Itemtype Books
> >  - Check via SQL: select * from circulation_rules
> > - Go to overdue rules (/cgi-bin/koha/admin/circulation_triggers )
> >  - Set a rule for All Libraries / All patron categories / All Itemtype
> >  - Now try to edit the delay for the applied rule 
> >    with combination All Libraries / All patron categories / Itemtype Books
> >    --> Message in blue box "Your changes could not be saved as this
> > circulation
> >        trigger was updated elsewhere. Please see the updated trigger below."
> >    It is not possible to save / submit
> >  - Now edit the delay for the applied rule 
> >    with combination All Libraries / Patron category Homebound / Itemtype
> > Books
> >    --> You can save without problems, if this combination does not exist in
> > the database table circulation_rules
> > 
> > 
> > 3.) Permissions Error if you are not an admin
> > 
> > The Overlay rules are part of the tools and also the permission is part of
> > the tools section. That means that it was enough to give users the
> > edit_notice_status_triggers permission, it was not neccessary to give any
> > administration permission (parameters) .
> > Now you moved the overdue triggers to administration.
> > 
> > If you now log in as a person with edit_notice_status_triggers permission
> > you can see the tools module and click on the menu for overdue triggers but
> > then you get the error message "Something went wrong: Error: Authorization
> > failure. Missing required permission(s)."
> > 
> > 
> > 4.) Edit an existing trigger does not pull delay from database
> > 
> > Edit an existing trigger and check that the delay value is 0 , it is not
> > pulled from the database. This is confusing and dangerous because you see
> > the delay value just a few centimeters above in the table.
> > If you save the form, the value in the database is overwritten with 0.
> > 
> > To reproduce: follow testplan in comment 183 Part 4.3
> 
> Thank you for the testing and feedback, much appreciated!
> 
> 
> Re - 1.) overdue_X_has_rules is a property indicating that some rule(s)
> exist for a given context/trigger number combination. The most recent
> version of the integration ensure it is created whenever any rule is created
> for a given context/trigger number combination. The staff clients relies on
> this to ascertain whether a rule set exists efficiently.
> I think the solution might be to have it added to each existing
> context/trigger number combination - would that be sensible?
> 
> 2., 3., and 4.: I will do some debugging and put patches together for those,
> many thanks for reporting them!

Quick update on this: The latest commit (Attachment #189345 [details]) intends to address point 1, 2, and 4 from the QA feedback. 3 is, to my knowledge, one for discussion as it looks to me like expected behaviour.

In the meantime, if any other bugs are found, I'll be happy to look at addressing them!
Comment 197 Clemens Tubach 2025-11-10 07:37:44 UTC
Unfortunately, the patch doesn't apply:

Applying: Bug 10190: Update has_restricting_overdues to refer to circulation rules
Using index info to reconstruct a base tree...
M       Koha/Patron.pm
Falling back to patching base and 3-way merge...
Auto-merging Koha/Patron.pm
CONFLICT (content): Merge conflict in Koha/Patron.pm
error: Failed to merge in the changes.
Patch failed at 0001 Bug 10190: Update has_restricting_overdues to refer to circulation rules
Comment 198 Chloé Zermatten 2025-11-21 17:05:51 UTC Comment hidden (obsolete)
Comment 199 Chloé Zermatten 2025-11-21 17:05:56 UTC Comment hidden (obsolete)
Comment 200 Chloé Zermatten 2025-11-21 17:06:00 UTC Comment hidden (obsolete)
Comment 201 Chloé Zermatten 2025-11-21 17:06:05 UTC Comment hidden (obsolete)
Comment 202 Chloé Zermatten 2025-11-21 17:06:09 UTC Comment hidden (obsolete)
Comment 203 Chloé Zermatten 2025-11-21 17:06:13 UTC Comment hidden (obsolete)
Comment 204 Jonathan Druart 2025-12-12 14:25:20 UTC
In the last patch:
-                    min;
+                    `${min}`;

Why this kind of changes exactly?
Comment 205 Chloé Zermatten 2025-12-18 11:38:16 UTC
(In reply to Jonathan Druart from comment #204)
> In the last patch:
> -                    min;
> +                    `${min}`;
> 
> Why this kind of changes exactly?

The idea here is to consistently prevent JS data-types shenanigans and oddness from occurring, really - we're ensuring that once the number is calculated, we convert it to a string. 

Effectively, I went with:

- anything that gets assigned to the Vue template: convert to string first.
- when manipulating numbers (which we mostly get as string from the relevant input field): convert to integer first.
Comment 206 Clemens Tubach 2026-01-15 09:01:12 UTC
The patch doesn't apply:

Applying: Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface
Using index info to reconstruct a base tree...
M       debian/templates/apache-shared-intranet.conf
M       koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
M       koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
M       koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
M       koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
M       rspack.config.js
Falling back to patching base and 3-way merge...
Auto-merging rspack.config.js
CONFLICT (content): Merge conflict in rspack.config.js
Auto-merging koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
Auto-merging koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
Auto-merging koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
Auto-merging debian/templates/apache-shared-intranet.conf
error: Failed to merge in the changes.
Patch failed at 0001 Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface
Comment 207 Chloé Zermatten 2026-01-21 10:16:01 UTC Comment hidden (obsolete)
Comment 208 Chloé Zermatten 2026-01-21 10:16:06 UTC Comment hidden (obsolete)
Comment 209 Chloé Zermatten 2026-01-21 10:16:10 UTC Comment hidden (obsolete)
Comment 210 Chloé Zermatten 2026-01-21 10:16:14 UTC Comment hidden (obsolete)
Comment 211 Chloé Zermatten 2026-01-21 10:16:18 UTC Comment hidden (obsolete)
Comment 212 Chloé Zermatten 2026-01-21 10:16:22 UTC Comment hidden (obsolete)
Comment 213 Chloé Zermatten 2026-01-21 10:16:26 UTC Comment hidden (obsolete)
Comment 214 Chloé Zermatten 2026-01-21 10:16:31 UTC Comment hidden (obsolete)
Comment 215 Chloé Zermatten 2026-01-21 10:16:35 UTC Comment hidden (obsolete)
Comment 216 Chloé Zermatten 2026-01-21 10:16:39 UTC Comment hidden (obsolete)
Comment 217 Chloé Zermatten 2026-01-21 10:16:44 UTC Comment hidden (obsolete)
Comment 218 Chloé Zermatten 2026-01-21 10:16:48 UTC Comment hidden (obsolete)
Comment 219 Chloé Zermatten 2026-01-21 10:16:52 UTC Comment hidden (obsolete)
Comment 220 Chloé Zermatten 2026-01-21 10:16:57 UTC Comment hidden (obsolete)
Comment 221 Chloé Zermatten 2026-01-21 10:17:01 UTC Comment hidden (obsolete)
Comment 222 Chloé Zermatten 2026-01-21 10:24:27 UTC
(In reply to Clemens Tubach from comment #206)
> The patch doesn't apply:
> 
> Applying: Bug 10190: Complete Vue.js rewrite of Circulation Triggers
> administration interface
> Using index info to reconstruct a base tree...
> M       debian/templates/apache-shared-intranet.conf
> M       koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
> M       koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
> M       koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
> M       koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
> M       rspack.config.js
> Falling back to patching base and 3-way merge...
> Auto-merging rspack.config.js
> CONFLICT (content): Merge conflict in rspack.config.js
> Auto-merging koha-tmpl/intranet-tmpl/prog/js/vue/fetch/api-client.js
> Auto-merging koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
> CONFLICT (content): Merge conflict in
> koha-tmpl/intranet-tmpl/prog/js/fetch/patron-api-client.js
> Auto-merging koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
> CONFLICT (content): Merge conflict in
> koha-tmpl/intranet-tmpl/prog/js/fetch/item-api-client.js
> Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
> Auto-merging debian/templates/apache-shared-intranet.conf
> error: Failed to merge in the changes.
> Patch failed at 0001 Bug 10190: Complete Vue.js rewrite of Circulation
> Triggers administration interface

Thanks for letting me know! Rebase done; hopefully it should apply now :)
If not, I can take another look.
Comment 223 Clemens Tubach 2026-01-21 14:56:49 UTC
Unfortunately, the patch doesn't apply:

Applying: Bug 10190: (QA follow-up): Fix removal of tables
Using index info to reconstruct a base tree...
A       installer/data/mysql/atomicupdate/bug_10190.pl
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): installer/data/mysql/atomicupdate/bug_10190.pl deleted in HEAD and modified in Bug 10190: (QA follow-up): Fix removal of tables. Version Bug 10190: (QA follow-up): Fix removal of tables of installer/data/mysql/atomicupdate/bug_10190.pl left in tree.
error: Failed to merge in the changes.
Patch failed at 0001 Bug 10190: (QA follow-up): Fix removal of tables
Comment 224 Chloé Zermatten 2026-01-21 16:16:14 UTC Comment hidden (obsolete)
Comment 225 Chloé Zermatten 2026-01-21 16:16:18 UTC Comment hidden (obsolete)
Comment 226 Chloé Zermatten 2026-01-21 16:21:54 UTC
(In reply to Clemens Tubach from comment #223)
> Unfortunately, the patch doesn't apply:
> 
> Applying: Bug 10190: (QA follow-up): Fix removal of tables
> Using index info to reconstruct a base tree...
> A       installer/data/mysql/atomicupdate/bug_10190.pl
> Falling back to patching base and 3-way merge...
> CONFLICT (modify/delete): installer/data/mysql/atomicupdate/bug_10190.pl
> deleted in HEAD and modified in Bug 10190: (QA follow-up): Fix removal of
> tables. Version Bug 10190: (QA follow-up): Fix removal of tables of
> installer/data/mysql/atomicupdate/bug_10190.pl left in tree.
> error: Failed to merge in the changes.
> Patch failed at 0001 Bug 10190: (QA follow-up): Fix removal of tables

Apologies, that one's on me: it looks like I had left out 294be92e8e051570dbbfbb66f796e490dbecda27 when rebasing. I've amended the commit history to restore the commits order.
Comment 227 Michaela Sieber 2026-01-21 16:37:46 UTC
Patch applies now, but again Error 404 in staff interface 

kohadev-koha@kohadevbox:koha(bug_10190)$ updatedatabase 
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $itemtype in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
Use of uninitialized value $branchcode_value in concatenation (.) or string at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190-mynewcircrule.pl [16:23:05]: Bug 10190 - Add overdue_X_has_rules to pre-existing overdue rule sets in the circulation_rules table
DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl [16:23:05]: Bug 10190 - Migrate overduerules to circulation_rules
Inserting :undef: default most frequent delay for overdue_1:
Inserting :undef:undef default most frequent notice for overdue_1:
Inserting :undef:undef default most frequent mtt for overdue_1:
Inserting :undef:undef default most frequent restrict for overdue_1: 0
Inserting :undef: default most frequent delay for overdue_2:
Inserting :undef:undef default most frequent notice for overdue_2:
Inserting :undef:undef default most frequent mtt for overdue_2:
Inserting :undef:undef default most frequent restrict for overdue_2: 0
Inserting :undef: default most frequent delay for overdue_3:
Inserting :undef:undef default most frequent notice for overdue_3:
Inserting :undef:undef default most frequent mtt for overdue_3:
Inserting :undef:undef default most frequent restrict for overdue_3: 0
Comment 228 Chloé Zermatten 2026-01-21 17:38:29 UTC Comment hidden (obsolete)
Comment 229 Chloé Zermatten 2026-01-21 17:42:33 UTC
(In reply to Michaela Sieber from comment #227)
> Patch applies now, but again Error 404 in staff interface 
> 
> kohadev-koha@kohadevbox:koha(bug_10190)$ updatedatabase 
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $itemtype in concatenation (.) or string at
> /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $itemtype in concatenation (.) or string at
> /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $itemtype in concatenation (.) or string at
> /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 218.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 229.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 240.
> Use of uninitialized value $branchcode_value in concatenation (.) or string
> at /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl line 251.
> DEV atomic update
> /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190-mynewcircrule.
> pl [16:23:05]: Bug 10190 - Add overdue_X_has_rules to pre-existing overdue
> rule sets in the circulation_rules table
> DEV atomic update
> /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_10190.pl [16:23:05]:
> Bug 10190 - Migrate overduerules to circulation_rules
> Inserting :undef: default most frequent delay for overdue_1:
> Inserting :undef:undef default most frequent notice for overdue_1:
> Inserting :undef:undef default most frequent mtt for overdue_1:
> Inserting :undef:undef default most frequent restrict for overdue_1: 0
> Inserting :undef: default most frequent delay for overdue_2:
> Inserting :undef:undef default most frequent notice for overdue_2:
> Inserting :undef:undef default most frequent mtt for overdue_2:
> Inserting :undef:undef default most frequent restrict for overdue_2: 0
> Inserting :undef: default most frequent delay for overdue_3:
> Inserting :undef:undef default most frequent notice for overdue_3:
> Inserting :undef:undef default most frequent mtt for overdue_3:
> Inserting :undef:undef default most frequent restrict for overdue_3: 0

Thanks for letting me know - I have updated bug_10190-mynewcircrule.pl - particularly the SQL query which had a few issues. If anything else comes up, I will be sure to get back to this tomorrow!
Comment 230 Chloé Zermatten 2026-01-22 11:43:45 UTC Comment hidden (obsolete)
Comment 231 Chloé Zermatten 2026-01-22 15:57:06 UTC Comment hidden (obsolete)
Comment 232 Victor Grousset/tuxayo 2026-01-28 01:47:04 UTC
I got around 28 tests failing. On a ktd started with the patches. And also when starting on main and upgrading. And with defaultCommandTimeout: 20000 (that's what is usually needed on my slow laptop)

Is there something else to do to run the tests besides starting KTD and running them directly?
cypress run --config video=false --spec t/cypress/integration/Admin/CirculationTriggers_spec.ts

Otherwise that looks like a legit failure. For example, for "Should display correct breadcrumbs", the .current class is indeed not on "Home".


---

For the next patch version, can the steps to perform an upgrade added to the test plan?

From what I have gathered it's:

sudo perl /kohadevbox/misc4dev/cp_debian_files.pl --instance=kohadev --koha_dir=/kohadevbox/koha --gitify_dir=/kohadevbox/gitify
yarn build

But maybe they are wrong. And it took me some time to find about needing cp_debian_files.pl

----------

If I want to test the migration of the old triggers. Is there any interesting data to test? Or do I just put multiple triggers and check that the most popular stuff is picked as default?

-------

1. open the form "Confirm trigger context"
2. click on the "Patron category" list
3. try to scroll because you aren't finding the desired category
4. It barely scrolls.

You have to thing about moving the mouse outside of the list and scroll there.
If the size of the things lines up enough, when trying to scroll you don't get to see the beginning of the next patron category. So you can really think the list is 3 or 4 elements long and that's all. I almost reported that the list was incomplete instead of reporting this.

------

When not logged into Koha and going to
http://localhost:8081/cgi-bin/koha/admin/circulation_triggers
One is redirected to the login page.
After login, the redirection is done to
http://localhost:8081/cgi-bin/koha/admin/circulation_triggers.pl
Which isn't valid and goes 404.
I though I missed some setup step at some point. But it was just an invalid redirect.
Maybe it's from the rewrite rule in debian/templates/apache-shared-intranet.conf
Comment 233 Chloé Zermatten 2026-01-28 11:39:36 UTC
(In reply to Victor Grousset/tuxayo from comment #232)
> I got around 28 tests failing. On a ktd started with the patches. And also
> when starting on main and upgrading. And with defaultCommandTimeout: 20000
> (that's what is usually needed on my slow laptop)
> 
> Is there something else to do to run the tests besides starting KTD and
> running them directly?
> cypress run --config video=false --spec
> t/cypress/integration/Admin/CirculationTriggers_spec.ts
> 
> Otherwise that looks like a legit failure. For example, for "Should display
> correct breadcrumbs", the .current class is indeed not on "Home".
> 
> 
> ---
> 
> For the next patch version, can the steps to perform an upgrade added to the
> test plan?
> 
> From what I have gathered it's:
> 
> sudo perl /kohadevbox/misc4dev/cp_debian_files.pl --instance=kohadev
> --koha_dir=/kohadevbox/koha --gitify_dir=/kohadevbox/gitify
> yarn build
> 
> But maybe they are wrong. And it took me some time to find about needing
> cp_debian_files.pl
> 
> ----------
> 
> If I want to test the migration of the old triggers. Is there any
> interesting data to test? Or do I just put multiple triggers and check that
> the most popular stuff is picked as default?
> 
> -------
> 
> 1. open the form "Confirm trigger context"
> 2. click on the "Patron category" list
> 3. try to scroll because you aren't finding the desired category
> 4. It barely scrolls.
> 
> You have to thing about moving the mouse outside of the list and scroll
> there.
> If the size of the things lines up enough, when trying to scroll you don't
> get to see the beginning of the next patron category. So you can really
> think the list is 3 or 4 elements long and that's all. I almost reported
> that the list was incomplete instead of reporting this.
> 
> ------
> 
> When not logged into Koha and going to
> http://localhost:8081/cgi-bin/koha/admin/circulation_triggers
> One is redirected to the login page.
> After login, the redirection is done to
> http://localhost:8081/cgi-bin/koha/admin/circulation_triggers.pl
> Which isn't valid and goes 404.
> I though I missed some setup step at some point. But it was just an invalid
> redirect.
> Maybe it's from the rewrite rule in
> debian/templates/apache-shared-intranet.conf

Hi Victor, 
Many thanks for the feedback!

I have a few UI/UX and permission fixes in the work (which includes dropdown select / scroll behaviour improvements, and should address what you've reported here), working from testing feedback from Michaela, and I'm aiming to resubmit by Friday this week.

I'll be taking a look at the failing cypress tests as well.

For data migration testing, what you've described is in effect what I have done. I haven't stumbled upon any particular edge case that needs looking into.

The login/redirect fail: I'll need to look into that one. What I can say is the URL needs to be http://localhost:8081/cgi-bin/koha/admin/circulation_triggers, not  http://localhost:8081/cgi-bin/koha/admin/circulation_triggers.pl. I'll see if the RewriteRules can help resolve this. I did find the new circulation triggers RewriteRule was missing from etc/koha-httpd.conf (fix not submitted yet - another one for Friday!)
Comment 234 Victor Grousset/tuxayo 2026-01-29 01:16:12 UTC
> which includes dropdown select / scroll behaviour improvements

:D

-----

> I'll be taking a look at the failing cypress tests as well.

Thanks, it's very handy we can have UI tests due to being done with Vue ^^

------

I forgot there was also this failure in the lower level tests:

t/db_dependent/Overdues.t .. 8/19 # Looks like you planned 19 tests but ran 9.

I don't know if that's just the expected change from the removed tests or if there is an actual issue.

--------


> Inserting :undef: default most frequent delay for overdue_1:
> Inserting :undef:undef default most frequent notice for overdue_1:
> Inserting :undef:undef default most frequent mtt for overdue_1:

About this output, at first I though there where issues of undef variables. Like with the uninitialized values earlier reports. , does "all" fits better than undef? I picked it from the circulation rules page but maybe it doesn't have the same meaning?
It's only about not scaring an admin about the update having an issue.


--------

I tried on main to add two default actions and one action on a specific library. So 3 records in overduerules tables.

And the update output is
        Inserting :J: overdue_1_delay: 2
        Inserting :J: overdue_1_notice: AR_COMPLETED
        Inserting :J: overdue_1_restrict: 1
        Inserting :J: overdue_1has_rules: 1
        Inserting :J: overdue_2_delay: 6
        Inserting :J: overdue_2_restrict: 1
        Inserting :J: overdue_2has_rules: 1
        Inserting :J: overdue_3_delay: 9
        Inserting :J: overdue_3_notice: AR_CANCELED
        Inserting :J: overdue_3_restrict: 1
        Inserting :J: overdue_3has_rules: 1
        Inserting :HB: overdue_1_delay: 2
        Inserting :HB: overdue_1_notice: ACCOUNT_DEBIT
        Inserting :HB: overdue_1_mtt: email,print
        Inserting :HB: overdue_1_restrict: 1
        Inserting :HB: overdue_1has_rules: 1
        Inserting :HB: overdue_2_delay: 5
        Inserting :HB: overdue_2_notice: ACCOUNT_WRITEOFF
        Inserting :HB: overdue_2_mtt: email,print
        Inserting :HB: overdue_2_restrict: 1
        Inserting :HB: overdue_2has_rules: 1
        Inserting :HB: overdue_3_delay: 6
        Inserting :HB: overdue_3_notice: PREDUEDGST
        Inserting :HB: overdue_3_mtt: email,print
        Inserting :HB: overdue_3_restrict: 1
        Inserting :HB: overdue_3has_rules: 1
        Inserting :undef: default most frequent delay for overdue_1: 
        Inserting :undef:undef default most frequent notice for overdue_1: 
        Inserting :undef:undef default most frequent mtt for overdue_1: 
        Inserting :undef:undef default most frequent restrict for overdue_1: 0
        Inserting :undef:undef default has_rules for overdue_1: 1
        Inserting :undef: default most frequent delay for overdue_2: 
        Inserting :undef:undef default most frequent notice for overdue_2: 
        Inserting :undef:undef default most frequent mtt for overdue_2: 
        Inserting :undef:undef default most frequent restrict for overdue_2: 0
        Inserting :undef:undef default has_rules for overdue_2: 1
        Inserting :undef: default most frequent delay for overdue_3: 
        Inserting :undef:undef default most frequent notice for overdue_3: 
        Inserting :undef:undef default most frequent mtt for overdue_3: 
        Inserting :undef:undef default most frequent restrict for overdue_3: 0
        Inserting :undef:undef default has_rules for overdue_3: 1
        Inserting FFL:undef: default most frequent delay for overdue_1: 1
        Inserting FFL:undef:undef default most frequent notice for overdue_1: AR_CANCELED
        Inserting FFL:undef:undef default most frequent mtt for overdue_1: email
        Inserting FFL:undef:undef default most frequent restrict for overdue_1: 1
        Inserting FFL:undef:undef default has_rules for overdue_1: 1
        Inserting FFL:undef: default most frequent delay for overdue_2: 2
        Inserting FFL:undef:undef default most frequent notice for overdue_2: PREDUEDGST
        Inserting FFL:undef:undef default most frequent mtt for overdue_2: email
        Inserting FFL:undef:undef default most frequent restrict for overdue_2: 1
        Inserting FFL:undef:undef default has_rules for overdue_2: 1
        Inserting FFL:undef: default most frequent delay for overdue_3: 3
        Inserting FFL:undef:undef default most frequent notice for overdue_3: ODUE
        Inserting FFL:undef:undef default most frequent mtt for overdue_3: email
        Inserting FFL:undef:undef default most frequent restrict for overdue_3: 1
        Inserting FFL:undef:undef default has_rules for overdue_3: 1


Does anyone know that are expectable sizes of the overduerules table with a large network of libraries?
Because even without much per-library specific rules, the output of this bug might be much longer than the rest of the upgrade and flood it.
While still being very useful here to test and review.
And eventually investigate issues when production upgrades will happen.
Wait, for that, this should do:
SELECT * FROM circulation_rules WHERE rule_name LIKE 'overdue\_%';

It's not as nice as with the explicit "frequent delay" but that might be a trade-off.

Anyway it depends on how large all the current output can be.

--------


> I'm aiming to resubmit by Friday this week.

No worries, I hope there won't be too many hurdles. And the stuff about the upgrade output can wait the next round of patch revisions, actual testing doesn't depend on it.
Comment 235 Victor Grousset/tuxayo 2026-01-29 21:43:27 UTC
There is a ghost of PTFS Europe still haunting the the copyright notice in admin/circulation_triggers.pl
Comment 236 Victor Grousset/tuxayo 2026-01-29 22:07:03 UTC
qa script is finding various issues. Like tidy, spelling, filters, permissions. All minor stuff.

Tidy stuff might be a pain, we shouldn't use tidy commits anymore, it should be done inline. If the untidy stuff comes from many commits (maybe old commits were done on a machine without the git hook that should tidy automatically), then it would be bad to have all the fixes in the last commit.
If that's the situation, it might work to do an interactive rebase and mark all commits for "edit". Then amend them one by one without any change, but it should trigger the tidy hook. Hopefully that doesn't start doing tons of conflicts if commits touch the same places that were untidy. In that case, I think it would be a ok have tidy commit. The history on main shows there are a very few other tidy commits. So we can sneak another one if that's needed to fix an old mess without being a total pain.

Hope that helps.


----


Code coverage is good, whether on new code and changes being covered. And on test removal not removing coverage on any still existing code.
Comment 237 Chloé Zermatten 2026-01-30 16:52:16 UTC
Thought I would drop a quick progress update, seeing as I'm not ready to resubmit just yet:

What I got sorted:
- some UI fixes written
- permissions are getting there
- removed the link on the Tools page (this is an admin configuration option)

The permissions piece has turned out to be more complex than I'd anticipated though I do think it's necessary to add this in properly, so I'm happy to be spending the time on it now :)

That does mean that I'm going to push back the resubmission to next week, as I'm still working through my todo list for this. (I'll also rebase it against main to account for 41315 as that one's now been merged.)
Comment 238 Chloé Zermatten 2026-02-04 18:43:10 UTC
(In reply to Victor Grousset/tuxayo from comment #236)
> qa script is finding various issues. Like tidy, spelling, filters,
> permissions. All minor stuff.
> 
> Tidy stuff might be a pain, we shouldn't use tidy commits anymore, it should
> be done inline. If the untidy stuff comes from many commits (maybe old
> commits were done on a machine without the git hook that should tidy
> automatically), then it would be bad to have all the fixes in the last
> commit.
> If that's the situation, it might work to do an interactive rebase and mark
> all commits for "edit". Then amend them one by one without any change, but
> it should trigger the tidy hook. Hopefully that doesn't start doing tons of
> conflicts if commits touch the same places that were untidy. In that case, I
> think it would be a ok have tidy commit. The history on main shows there are
> a very few other tidy commits. So we can sneak another one if that's needed
> to fix an old mess without being a total pain.
> 
> Hope that helps.
> 
> 
> ----
> 
> 
> Code coverage is good, whether on new code and changes being covered. And on
> test removal not removing coverage on any still existing code.

Currently working my way through said issues, and I've got a quick question on one of them if that's alright:

[FAIL] koha-tmpl/intranet-tmpl/prog/js/vue/stores/circulation-rules.js
   FAIL   forbidden_patterns
                forbidden pattern: Use __("") instead of _("") (line 35)

seems to have been triggered by this regex: /overdue_(\d+)_has_rules/.

Would that be a case of the qa script picking up on something it shouldn't?
Comment 239 Jonathan Druart 2026-02-09 10:04:22 UTC
(In reply to Chloé Zermatten from comment #238)
> [FAIL] koha-tmpl/intranet-tmpl/prog/js/vue/stores/circulation-rules.js
>    FAIL   forbidden_patterns
>                 forbidden pattern: Use __("") instead of _("") (line 35)
> 
> seems to have been triggered by this regex: /overdue_(\d+)_has_rules/.
> 
> Would that be a case of the qa script picking up on something it shouldn't?

Look like it, yes. Ignore it. You can open an issue to report the problem https://gitlab.com/koha-community/qa-test-tools
Comment 240 Chloé Zermatten 2026-02-10 13:06:32 UTC Comment hidden (obsolete)
Comment 241 Chloé Zermatten 2026-02-10 13:06:38 UTC Comment hidden (obsolete)
Comment 242 Chloé Zermatten 2026-02-10 13:06:44 UTC Comment hidden (obsolete)
Comment 243 Chloé Zermatten 2026-02-10 13:06:49 UTC Comment hidden (obsolete)
Comment 244 Chloé Zermatten 2026-02-10 13:06:55 UTC Comment hidden (obsolete)
Comment 245 Chloé Zermatten 2026-02-10 13:07:00 UTC Comment hidden (obsolete)
Comment 246 Chloé Zermatten 2026-02-10 13:07:06 UTC Comment hidden (obsolete)
Comment 247 Chloé Zermatten 2026-02-10 13:07:11 UTC Comment hidden (obsolete)
Comment 248 Chloé Zermatten 2026-02-10 13:07:17 UTC Comment hidden (obsolete)
Comment 249 Chloé Zermatten 2026-02-10 13:07:23 UTC Comment hidden (obsolete)
Comment 250 Chloé Zermatten 2026-02-10 13:07:28 UTC Comment hidden (obsolete)
Comment 251 Chloé Zermatten 2026-02-10 13:07:34 UTC Comment hidden (obsolete)
Comment 252 Chloé Zermatten 2026-02-10 13:07:40 UTC Comment hidden (obsolete)
Comment 253 Chloé Zermatten 2026-02-10 13:07:45 UTC Comment hidden (obsolete)
Comment 254 Chloé Zermatten 2026-02-10 13:07:51 UTC Comment hidden (obsolete)
Comment 255 Chloé Zermatten 2026-02-10 13:07:56 UTC Comment hidden (obsolete)
Comment 256 Chloé Zermatten 2026-02-10 13:08:02 UTC Comment hidden (obsolete)
Comment 257 Chloé Zermatten 2026-02-10 13:08:08 UTC Comment hidden (obsolete)
Comment 258 Chloé Zermatten 2026-02-10 13:08:13 UTC Comment hidden (obsolete)
Comment 259 Chloé Zermatten 2026-02-10 13:08:19 UTC Comment hidden (obsolete)
Comment 260 Chloé Zermatten 2026-02-10 13:08:24 UTC Comment hidden (obsolete)
Comment 261 Chloé Zermatten 2026-02-10 13:08:30 UTC Comment hidden (obsolete)
Comment 262 Chloé Zermatten 2026-02-10 13:08:35 UTC Comment hidden (obsolete)
Comment 263 Chloé Zermatten 2026-02-10 13:08:41 UTC Comment hidden (obsolete)
Comment 264 Chloé Zermatten 2026-02-10 13:08:46 UTC Comment hidden (obsolete)
Comment 265 Chloé Zermatten 2026-02-10 13:08:52 UTC Comment hidden (obsolete)
Comment 266 Chloé Zermatten 2026-02-10 13:08:58 UTC Comment hidden (obsolete)
Comment 267 Chloé Zermatten 2026-02-10 13:09:03 UTC Comment hidden (obsolete)
Comment 268 Chloé Zermatten 2026-02-10 13:09:09 UTC Comment hidden (obsolete)
Comment 269 Chloé Zermatten 2026-02-10 13:22:22 UTC
resubmitting this now as a fair few changes have been made, and I think it's a good time for another round of testing / feedback :)

The changes are listed in the bug but highlights are pretty much:

- permissions have been implemented
- improved UI/UX on the edit/add form
- fixes based on qa script outcomes
- rebased against main (which now includes 41315)
- performance: a fix to prevent the applied rule sets from being loaded twice upon initial UI load

Test plan for the perl script:
https://docs.google.com/document/d/1RJVz-jwks4OBymC5HaF0GBsJ4xQCZ9Qay03lnfoRMEs/edit?usp=sharing
Comment 270 Michaela Sieber 2026-02-11 16:56:10 UTC
Today testing results:

1.) Still problems with permissions: 
  - permission error 403 with restricted user 

192.168.56.1 - - [11/Feb/2026:16:29:39 +0000] "GET /api/v1/app.pl/api/v1/patron_categories?_per_page=-1 HTTP/1.1" 403 - "http://192.168.56.101:8081/cgi-bin/koha/admin/circulation_triggers"   
192.168.56.1 - - [11/Feb/2026:16:29:40 +0000] "GET /api/v1/app.pl/api/v1/circulation_rules/config HTTP/1.1" 403 - "http://192.168.56.101:8081/cgi-bin/koha/admin/circulation_triggers"  


 To reproduce : Edit an existing borrower (e.g. Casey King) and give Permissions for staff, reports and manage_circ_rules and edit_notice_status_triggers

Login with this user. Verify that you see Circulation Triggers under Administration. Click on Link "Circulation Triggers" , then you see the error above for two seconds before you are redirected to Koha start page.

Question : is the permission edit_notice_status_triggers still relevant? It is still under Tools and not under  "Manage Koha system settings (Administration panel) (parameters)"


2.) default x-Button in transport types (Modal edit trigger) 
 - for users it seems that only one transport type is possible

To reproduce : Edit a trigger and go to the section "Edit notice for trigger x"
select a letter, this adds a new line for transport types with the mentioned default x-Button that prevents to add more than one transport type (e.g. Print+email)

3.) Transport type should be required field if letter exists
It makes no sense to have a notice without a definition how the notice is sent.
The transport type should therefor be a required field


@Chloé : I've sent you Screenshots in Mattermost


4.) Migration scenario 

We found some odd behavior but need more time to document the scenario.

TBC
Comment 271 Michaela Sieber 2026-02-12 14:23:46 UTC
There is a fundamental conceptual error in the migration of the overdue rules with branch code. 
No default rules must be created here, since there were no default rules in the previous version either. 
The identification of “common” rules is far too simplistic.

Consider the following scenario: Your library has 10 patron categories. 
Branch Centerville: for 6 of these categories, an overdue rule is configured with delay = 3 and the ODUE letter sent by email. 
However, for the remaining four categories, no rule is configured at all. In the current version, these four categories therefore do not receive any overdue notices.
With the migration, you would now create a default rule that would also apply to these four categories. 
This is incorrect, because we must not make assumptions or create default rules for other institutions whose specific setup and context we do not know.

Our conclusion is that only explicit rules may be migrated. This applies both to rules with a branch code and to those without a branch code.

We strongly recommend testing with existing, differing overdue rules. 
For this purpose, we have created ready-to-use SQL insert statements and would be happy to provide them for testing, so that the various migration scenarios can be tested more easily.


This is what we've done for testing with KTD:

git checkout main
ktd up
ktd --shell
koha-mysql kohadev

SQL-Insert statements for overduerules and overduerules_transport_types :

INSERT INTO overduerules (overduerules_id, branchcode, categorycode, delay1, letter1, debarred1, delay2, debarred2, letter2, delay3, letter3, debarred3) VALUES
(1, '', 'HB', 2, 'ODUE', 0, 4, 0, 'ODUE', 6, 'ODUE', 0),
(2, '', 'B', 1, 'ODUE', 0, 2, 0, 'ODUE', 3, 'ODUE', 1),
(3, '', 'K', 3, 'ODUE', 0, 6, 0, 'ODUE', 9, 'ODUE', 1),
(4, 'LPL', 'K', 5, 'ODUE', 0, 10, 1, 'ODUE', 0, '', 0),
(5, 'LPL', 'ST', 7, 'ODUE', 0, 14, 1, 'ODUE', 0, '', 0),
(6, 'LPL', 'YA', 10, 'ODUE', 0, 20, 1, '', 0, '', 0),
(7, 'SPL', 'SC', 8, 'DUE', 1, 0, 0, '', 0, '', 0);


INSERT INTO overduerules_transport_types 
(id, letternumber, message_transport_type, overduerules_id) VALUES
(1, 1, 'print', 1),
(2, 2, 'print', 1),
(3, 3, 'print', 1),
(4, 1, 'email', 2),
(5, 2, 'email', 2),
(6, 3, 'email', 2),
(7, 3, 'print', 2),
(8, 1, 'email', 3),
(9, 1, 'print', 3),
(10, 2, 'email', 3),
(11, 2, 'print', 3),
(12, 3, 'print', 3),
(13, 1, 'email', 4),
(14, 2, 'print', 4),
(15, 1, 'email', 5),
(16, 2, 'email', 5),
(17, 2, 'print', 5),
(18, 1, 'email', 6);

Now everything is prepared for testing the migration scenario. Check the overduerule in Koha staff interface before you apply the patch!

# if branch already exists, delete it : git branch -D bug_10190
git checkout -b bug_10190 origin/main
git bz apply 10190
updatedatabase
yarn build
# copies the Apache-Config files to the correct place
sudo perl /kohadevbox/misc4dev/cp_debian_files.pl --instance=kohadev --koha_dir=/kohadevbox/koha --gitify_dir=/kohadevbox/gitify
restart_all

Check the migrated circulation triggers.
Comment 272 Lucas Gass (lukeg) 2026-02-13 15:12:26 UTC
Just an FYI: this patch set may conflict with Bug 30515 and Bug 40791.
Comment 273 Chloé Zermatten 2026-02-25 09:27:24 UTC
(In reply to Lucas Gass (lukeg) from comment #272)
> Just an FYI: this patch set may conflict with Bug 30515 and Bug 40791.

Thanks for the heads up!
Comment 274 Martin Renvoize (ashimema) 2026-02-25 15:24:41 UTC Comment hidden (obsolete)
Comment 275 Martin Renvoize (ashimema) 2026-02-25 15:31:41 UTC Comment hidden (obsolete)
Comment 276 Martin Renvoize (ashimema) 2026-02-25 15:31:44 UTC Comment hidden (obsolete)
Comment 277 Martin Renvoize (ashimema) 2026-02-25 15:31:46 UTC Comment hidden (obsolete)
Comment 278 Martin Renvoize (ashimema) 2026-02-25 15:31:49 UTC Comment hidden (obsolete)
Comment 279 Martin Renvoize (ashimema) 2026-02-25 15:31:52 UTC Comment hidden (obsolete)
Comment 280 Martin Renvoize (ashimema) 2026-02-25 15:31:54 UTC Comment hidden (obsolete)
Comment 281 Martin Renvoize (ashimema) 2026-02-25 15:31:57 UTC Comment hidden (obsolete)
Comment 282 Martin Renvoize (ashimema) 2026-02-25 15:32:00 UTC Comment hidden (obsolete)
Comment 283 Martin Renvoize (ashimema) 2026-02-25 15:32:03 UTC Comment hidden (obsolete)
Comment 284 Martin Renvoize (ashimema) 2026-02-25 15:32:06 UTC Comment hidden (obsolete)
Comment 285 Martin Renvoize (ashimema) 2026-02-25 15:32:09 UTC Comment hidden (obsolete)
Comment 286 Martin Renvoize (ashimema) 2026-02-25 15:32:11 UTC Comment hidden (obsolete)
Comment 287 Martin Renvoize (ashimema) 2026-02-25 15:32:14 UTC Comment hidden (obsolete)
Comment 288 Martin Renvoize (ashimema) 2026-02-25 15:32:17 UTC Comment hidden (obsolete)
Comment 289 Martin Renvoize (ashimema) 2026-02-25 15:32:20 UTC Comment hidden (obsolete)
Comment 290 Martin Renvoize (ashimema) 2026-02-25 15:32:23 UTC Comment hidden (obsolete)
Comment 291 Martin Renvoize (ashimema) 2026-02-25 15:32:26 UTC Comment hidden (obsolete)
Comment 292 Martin Renvoize (ashimema) 2026-02-25 15:32:29 UTC Comment hidden (obsolete)
Comment 293 Martin Renvoize (ashimema) 2026-02-25 15:32:31 UTC Comment hidden (obsolete)
Comment 294 Martin Renvoize (ashimema) 2026-02-25 15:32:34 UTC Comment hidden (obsolete)
Comment 295 Martin Renvoize (ashimema) 2026-02-25 15:32:37 UTC Comment hidden (obsolete)
Comment 296 Martin Renvoize (ashimema) 2026-02-25 15:32:40 UTC Comment hidden (obsolete)
Comment 297 Martin Renvoize (ashimema) 2026-02-25 15:32:43 UTC Comment hidden (obsolete)
Comment 298 Martin Renvoize (ashimema) 2026-02-25 15:32:46 UTC Comment hidden (obsolete)
Comment 299 Martin Renvoize (ashimema) 2026-02-25 15:32:48 UTC Comment hidden (obsolete)
Comment 300 Martin Renvoize (ashimema) 2026-02-25 15:32:51 UTC Comment hidden (obsolete)
Comment 301 Martin Renvoize (ashimema) 2026-02-25 15:32:54 UTC Comment hidden (obsolete)
Comment 302 Martin Renvoize (ashimema) 2026-02-25 15:32:57 UTC Comment hidden (obsolete)
Comment 303 Martin Renvoize (ashimema) 2026-02-25 15:33:00 UTC Comment hidden (obsolete)
Comment 304 Martin Renvoize (ashimema) 2026-02-25 15:33:02 UTC Comment hidden (obsolete)
Comment 305 Martin Renvoize (ashimema) 2026-02-25 15:33:05 UTC Comment hidden (obsolete)
Comment 306 Martin Renvoize (ashimema) 2026-02-25 15:33:08 UTC Comment hidden (obsolete)
Comment 307 Martin Renvoize (ashimema) 2026-02-25 15:33:11 UTC Comment hidden (obsolete)
Comment 308 Martin Renvoize (ashimema) 2026-02-25 15:33:14 UTC Comment hidden (obsolete)
Comment 309 Martin Renvoize (ashimema) 2026-02-25 15:33:17 UTC Comment hidden (obsolete)
Comment 310 Martin Renvoize (ashimema) 2026-02-25 15:33:20 UTC Comment hidden (obsolete)
Comment 311 Martin Renvoize (ashimema) 2026-02-25 15:33:23 UTC Comment hidden (obsolete)
Comment 312 Martin Renvoize (ashimema) 2026-02-25 15:33:26 UTC Comment hidden (obsolete)
Comment 313 Martin Renvoize (ashimema) 2026-02-25 15:33:29 UTC Comment hidden (obsolete)
Comment 314 Martin Renvoize (ashimema) 2026-02-25 15:33:31 UTC Comment hidden (obsolete)
Comment 315 Martin Renvoize (ashimema) 2026-02-26 10:25:57 UTC Comment hidden (obsolete)
Comment 316 Michaela Sieber 2026-02-26 17:05:52 UTC
General: Please revise the test plan, as it is no longer up to date. 
For example, overdue_X_has_rules no longer exists (Part 11.5) , 
and the permission is no longer available either (Part 10.1).


We believe that this part is not testable at all:

Part 13: Comparison with Legacy Interface
3. Verify it appears correctly in the old interface (if applicable)

--

Strong contrasts and consistent color schemes for better understanding:

Please use the same blue color as on circulation rules page due to poor contrast.

Please use : rgb(218.1, 236.4, 251.4)  = #DAECFB
  
instead of : rgba(132, 193, 243, 1)  = #84c1f3  ( this one is tooo dark)
  
AND please use yellow color for Error Messages, as used elsewhere in Koha.

-- 

Here are all the issues we found while going through the test plan.


1.) Still permission issues : Something went wrong: Error: Authorization failure. Missing required permission(s).

--> Martin is working on this
To fully use the CirculationTriggers app a user needs all of:

    circulate: circulate_remaining_permissions (read + write circ rules)
    parameters: manage_circ_rules (load the config/UI)
    catalogue: 1 (load item types and libraries)
    parameters: catalogue (load patron categories)

2.) Letter context
it is not possible to select Letters with branchcode 

See Testplan 
  - Part 3: Adding New Triggers 
    - 4. Step 3 - Configure New Trigger
	   - Verify only templates for the selected library context appear
	   
  - Part 7: Context-Specific Behavior 
     1. Test library-specific letter filtering:
       - Create/edit a trigger for a specific library
       - Verify only letter templates with matching branchcode or default templates appear

3.) Editing Existing Triggers is not always possible

editing the delay is only possible for all / all rules.

have several rules for trigger 1 
e.g. a all/all/all  rule 
plus a all/Kids/Books  with a different delay value  (but same letter code as all/all/all rule)

Now try to change the delay value. 
As soon as you press the submit button, you receive the following error message:
 "Your changes could not be saved as this circulation trigger was updated elsewhere. Please see the updated trigger below."
    
See Testplan Part 4: Editing Existing Triggers


4.) Deletion of triggers does not delete all rules that are listed

to reproduce:
have several rules for trigger 2 
e.g. a all/all/all  rule 
plus a all/Kids/Books  with a different delay value  (but same letter code as all/all/all rule)

--> Delete trigger, than the all/all/all rule is deleted and the entry for all/Kids/Books remains

See Testplan: Part 5: Deleting Triggers


5.) No rules are displayed and syspref doesn't matter

As soon as you access the page /cgi-bin/koha/admin/circulation_triggers, no rule sets are displayed; the list is empty.

In addition, the system preference DefaultToLoggedInLibraryOverdueTriggers is not taken into account.  

See Testplan 3. Test DefaultToLoggedInLibraryOverdueTriggers preference:
  - Set preference to "Yes"
  - Reload circulation triggers page
  - Verify it defaults to your logged-in library
  - Set preference to "No"
  - Verify it defaults to "All libraries"
Comment 317 Martin Renvoize (ashimema) 2026-02-27 07:14:37 UTC Comment hidden (obsolete)
Comment 318 Martin Renvoize (ashimema) 2026-02-27 07:14:40 UTC Comment hidden (obsolete)
Comment 319 Martin Renvoize (ashimema) 2026-02-27 07:14:43 UTC Comment hidden (obsolete)
Comment 320 Martin Renvoize (ashimema) 2026-02-27 07:14:46 UTC Comment hidden (obsolete)
Comment 321 Martin Renvoize (ashimema) 2026-02-27 07:14:49 UTC Comment hidden (obsolete)
Comment 322 Martin Renvoize (ashimema) 2026-02-27 07:14:52 UTC Comment hidden (obsolete)
Comment 323 Martin Renvoize (ashimema) 2026-02-27 07:14:55 UTC Comment hidden (obsolete)
Comment 324 Martin Renvoize (ashimema) 2026-02-27 07:14:58 UTC Comment hidden (obsolete)
Comment 325 Martin Renvoize (ashimema) 2026-02-27 07:15:01 UTC Comment hidden (obsolete)
Comment 326 Martin Renvoize (ashimema) 2026-02-27 07:15:04 UTC Comment hidden (obsolete)
Comment 327 Martin Renvoize (ashimema) 2026-02-27 07:15:07 UTC Comment hidden (obsolete)
Comment 328 Martin Renvoize (ashimema) 2026-02-27 07:15:10 UTC Comment hidden (obsolete)
Comment 329 Martin Renvoize (ashimema) 2026-02-27 07:15:13 UTC Comment hidden (obsolete)
Comment 330 Martin Renvoize (ashimema) 2026-02-27 07:15:16 UTC Comment hidden (obsolete)
Comment 331 Martin Renvoize (ashimema) 2026-02-27 07:15:19 UTC Comment hidden (obsolete)
Comment 332 Martin Renvoize (ashimema) 2026-02-27 07:15:22 UTC Comment hidden (obsolete)
Comment 333 Martin Renvoize (ashimema) 2026-02-27 07:15:25 UTC Comment hidden (obsolete)
Comment 334 Martin Renvoize (ashimema) 2026-02-27 07:15:28 UTC Comment hidden (obsolete)
Comment 335 Martin Renvoize (ashimema) 2026-02-27 07:15:30 UTC Comment hidden (obsolete)
Comment 336 Martin Renvoize (ashimema) 2026-02-27 07:15:33 UTC Comment hidden (obsolete)
Comment 337 Martin Renvoize (ashimema) 2026-02-27 07:15:36 UTC Comment hidden (obsolete)
Comment 338 Martin Renvoize (ashimema) 2026-02-27 07:15:39 UTC Comment hidden (obsolete)
Comment 339 Martin Renvoize (ashimema) 2026-02-27 07:15:42 UTC Comment hidden (obsolete)
Comment 340 Martin Renvoize (ashimema) 2026-02-27 07:15:45 UTC Comment hidden (obsolete)
Comment 341 Martin Renvoize (ashimema) 2026-02-27 07:15:48 UTC Comment hidden (obsolete)
Comment 342 Martin Renvoize (ashimema) 2026-02-27 07:15:51 UTC Comment hidden (obsolete)
Comment 343 Martin Renvoize (ashimema) 2026-02-27 07:15:54 UTC Comment hidden (obsolete)
Comment 344 Martin Renvoize (ashimema) 2026-02-27 07:15:57 UTC Comment hidden (obsolete)
Comment 345 Martin Renvoize (ashimema) 2026-02-27 07:15:59 UTC Comment hidden (obsolete)
Comment 346 Martin Renvoize (ashimema) 2026-02-27 07:16:02 UTC Comment hidden (obsolete)
Comment 347 Martin Renvoize (ashimema) 2026-02-27 07:16:05 UTC Comment hidden (obsolete)
Comment 348 Martin Renvoize (ashimema) 2026-02-27 07:16:08 UTC Comment hidden (obsolete)
Comment 349 Martin Renvoize (ashimema) 2026-02-27 07:16:11 UTC Comment hidden (obsolete)
Comment 350 Martin Renvoize (ashimema) 2026-02-27 07:16:14 UTC Comment hidden (obsolete)
Comment 351 Martin Renvoize (ashimema) 2026-02-27 07:16:17 UTC Comment hidden (obsolete)
Comment 352 Martin Renvoize (ashimema) 2026-02-27 07:16:20 UTC Comment hidden (obsolete)
Comment 353 Martin Renvoize (ashimema) 2026-02-27 07:16:23 UTC Comment hidden (obsolete)
Comment 354 Martin Renvoize (ashimema) 2026-02-27 07:16:26 UTC Comment hidden (obsolete)
Comment 355 Martin Renvoize (ashimema) 2026-02-27 07:16:29 UTC Comment hidden (obsolete)
Comment 356 Martin Renvoize (ashimema) 2026-02-27 07:16:32 UTC Comment hidden (obsolete)
Comment 357 Martin Renvoize (ashimema) 2026-02-27 07:16:35 UTC Comment hidden (obsolete)
Comment 358 Martin Renvoize (ashimema) 2026-02-27 07:16:37 UTC Comment hidden (obsolete)
Comment 359 Martin Renvoize (ashimema) 2026-02-27 07:16:40 UTC Comment hidden (obsolete)
Comment 360 Martin Renvoize (ashimema) 2026-02-27 07:16:43 UTC Comment hidden (obsolete)
Comment 361 Martin Renvoize (ashimema) 2026-02-27 07:24:17 UTC
New living test plan: https://docs.google.com/document/d/1NnVo8T1CK5456ec0WvMu2sHiQVL3nSHJI95t5yjb1I4/edit?usp=sharing
Comment 362 Martin Renvoize (ashimema) 2026-02-27 08:02:12 UTC
Created attachment 194090 [details] [review]
Bug 10190: Center tables in add modal

Patch from commit 841e3fc
Comment 363 Martin Renvoize (ashimema) 2026-02-27 10:11:50 UTC
Created attachment 194094 [details] [review]
Bug 10190: Fix patron_categories permission format

The x-koha-authorization was using 'parameters: catalogue' which the
Koha auth system interprets as a 'catalogue' subpermission within the
'parameters' module (which doesn't exist), causing a 403 for any user.

The correct format for the top-level 'catalogue' permission is
'catalogue: "1"', consistent with all other read-only API endpoints.
Comment 364 Michaela Sieber 2026-02-27 15:53:12 UTC
We are making good progress; however, I unfortunately need to set the status back to Failed QA.

The most significant current issue is that triggers cannot be edited if all/all/all rules are configured.

This was Number 3 in Comment 316:

3.) Editing Existing Triggers is not always possible

editing the delay is only possible for all / all rules.

have several rules for trigger 1 
e.g. a all/all/all  rule 
plus a all/Kids/Books with a different delay value  (but same letter code as all/all/all rule)

Now try to change the delay value of the all/Kids/Books rule. 
As soon as you press the submit button, you receive the following error message:
 "Your changes could not be saved as this circulation trigger was updated elsewhere. Please see the updated trigger below."

---

The good news is : 

Permission error is solved ! :-)

Letter context is solved

Incomplete trigger deletion is solved

DefaultToLoggedInLibraryOverdueTriggers is solved

UI colors consistent now

First run for cronjob overdue_notices.pl was successful.

TBC next week