Koha-clms/Koha
Chloé Zermatten d2c575a93d
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

Signed-off-by: Michaela <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
2026-09-10 14:24:25 +00:00
..
Account Bug 40255: (follow-up) Fix failure in add_debit tests 2026-04-20 13:04:58 -06:00
Acquisition Bug 43344: Use the current source alias in filter_by_active 2026-09-09 15:49:59 +00:00
App Bug 42175: Fix Mojo under k.t.d 2026-04-09 08:27:30 -06:00
ArticleRequest Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Auth Bug 33782: (follow-up) Remove code duplication in OAuth client 2026-02-10 10:51:32 -07:00
Authority Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
BackgroundJob Bug 42656: Improve file transport test display 2026-08-06 16:05:19 +00:00
Biblio Bug 42567: Remove C4::Koha::GetNormalizedEAN in favor of MetadataExtractor 2026-08-20 15:34:10 +00:00
Cache Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Cash Bug 40445: (RM follow-up): Fix POD copy paste 2026-07-27 12:12:42 +00:00
Charges Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Checkouts Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Club Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CodeList/Unimarc Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Config Bug 41834: Set systempreferences's options, explanation and type to NULL 2026-03-20 07:57:11 +00:00
Controller Bug 37762: Circulation: Hook to holds 2026-05-08 12:25:43 -06:00
Course Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
Database Bug 43101: search_for_data_inconsistencies.pl inlines every biblionumber in the catalog as an OR chain 2026-07-27 12:13:05 +00:00
DateTime/Format Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Devel Bug 42764: Use inline codespell:ignore for SAN-Ouest Provence in templates 2026-06-04 10:59:21 +01:00
ERM Bug 41950: (follow-up) Add DBIC relationship aliases for +count embeds 2026-06-29 16:19:49 +00:00
Edifact Bug 42993: EDI: log transport failures via Koha::Logger instead of carp 2026-09-01 15:42:15 +00:00
Exceptions Bug 39658: Add Koha::Exceptions::PatronAccountLink 2026-09-09 12:07:37 +00:00
Exporter Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ExternalContent Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
File Bug 42656: (QA follow-up) Use _abort_operation() for Local's 'not configured' errors too 2026-08-06 16:05:22 +00:00
Filter/MARC Bug 41494: Rename "Koha administration" module name to "Administration" 2026-01-06 07:45:37 -07:00
Hold Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ILL Bug 42653: get_backend_plugin should cache results per backend name 2026-09-01 15:42:17 +00:00
Import Bug 41029: Add option for marc overlay rules to apply when adding to a basket 2026-08-19 16:07:57 +00:00
Indexer Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Installer Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Item Bug 41728: (QA follow-up) Move Item::Checkin::Availability to Item::Availability::Checkin 2026-09-04 11:24:02 +00:00
Library Bug 28530: (QA follow-up) Fix branch transfer limits not checking alternate libraries 2026-02-10 10:51:43 -07:00
List Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
MetadataRecord Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Middleware Bug 41197: Don't require a CSRF token for opac-account-pay-return.pl 2026-08-19 14:33:55 +00:00
Misc Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Notice Bug 35267: (follow-up) Add POD coverage for private subroutines 2026-04-17 09:18:10 -06:00
Number Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
OAI Bug 39337: (follow-up) Default to not suppressing OAI records 2026-08-25 08:56:28 +00:00
Object Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
Objects Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Old Bug 17387: (follow-up) address review feedback 2026-04-15 14:10:27 -06:00
Patron Bug 39658: Add Koha::Patron::AccountLink(s) objects 2026-09-09 12:07:25 +00:00
Patrons Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
Plugins Bug 41648: Validate plugin date metadata 2026-08-21 14:31:48 +00:00
Policy Bug 42529: Add Koha::Policy::Biblio::AgeRestriction 2026-08-06 16:07:29 +00:00
Preservation Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
REST Bug 10190: Add support for incrementable circulation rules 2026-09-10 14:24:21 +00:00
RecordProcessor Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Regex Bug 30233: (follow-up) fix some errors reported by QA tools 2026-08-11 12:39:28 +00:00
Result Bug 41728: (QA follow-up) Move Availability::Result to Result::Availability 2026-09-04 11:24:01 +00:00
SIP2 Bug 42664: Update SIP2 config timestamp after storing the change 2026-06-29 15:38:51 +00:00
SMS Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SMTP Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Schema Bug 10190: DBIC Schema update 2026-09-10 14:24:18 +00:00
SearchEngine Bug 42485: (RM follow-up): Tidy 2026-06-15 12:54:23 +00:00
Serial Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Sitemapper Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Subscription Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SuggestionEngine Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Tags Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Template/Plugin Bug 41648: Handle parse errors in KohaDates 2026-08-21 14:31:47 +00:00
Ticket Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
UI Bug 38136: Refactor database translations (alternative) 2026-04-15 11:37:14 -06:00
Util Bug 35142: Remove GetNormalizedOCLCNumber, oclc_number, strip_orgcode 2026-08-20 15:34:07 +00:00
XSLT Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Z3950Responder Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
pdfformat Bug 38516: Use PDF template copy for exporting PDFs 2025-12-01 08:34:02 -07:00
Account.pm Bug 42396: Adjust 'use' statements 2026-07-27 15:53:23 +00:00
ActionLog.pm Bug 43119: Restore item and hold links to the log viewer 2026-07-27 12:13:00 +00:00
ActionLogs.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdditionalContent.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdditionalContents.pm Bug 42973: Restore manual ordering for news 2026-08-12 15:49:51 +00:00
AdditionalContentsLocalization.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdditionalContentsLocalizations.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdditionalField.pm Bug 39438: Add additional fields support to ERM agreement periods 2026-01-30 10:54:10 -07:00
AdditionalFieldValue.pm Bug 41520: Filter out record_table from AdditionalFieldValue API responses 2026-01-06 07:45:38 -07:00
AdditionalFieldValues.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdditionalFields.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdvancedEditorMacro.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AdvancedEditorMacros.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ApiKey.pm Bug 20638: Improve ApiKey logging to use structured data 2026-01-22 09:26:02 -07:00
ApiKeys.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ArticleRequest.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ArticleRequests.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AudioAlert.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AudioAlerts.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AuthUtils.pm Bug 40680: Move EXPORT_OK right after Modern::Perl 2025-12-01 08:33:56 -07:00
AuthorisedValue.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AuthorisedValueCategories.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AuthorisedValueCategory.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
AuthorisedValues.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Authorities.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Authority.pm Bug 42032: (follow-up) Use MARC-in-JSON for authority action log diffs 2026-05-05 13:42:04 -06:00
BackgroundJob.pm Bug 42394: Fallback to {} if no userenv set 2026-04-17 09:18:00 -06:00
BackgroundJobs.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Biblio.pm Bug 42997: (QA follow-up) Don't let a booking's own checkout block it in Biblio::check_booking 2026-09-03 15:53:57 +00:00
BiblioFramework.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
BiblioFrameworks.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
BiblioUtils.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Biblioitem.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Biblioitems.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Biblios.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Booking.pm Bug 41898: (QA follow-up) Skip clash detection when collecting a booking 2026-07-27 15:53:38 +00:00
Bookings.pm Bug 41898: Introduce 'issued' status and update booking display/filtering 2026-07-27 15:53:33 +00:00
CSV.pm Bug 41619: (Follow-up) Fix for t/Koha/CSV.t 2026-02-27 13:12:37 -07:00
Cache.pm Bug 41896: Remove C4::Context from Koha::Cache 2026-08-14 12:09:27 +00:00
Caches.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Calendar.pm Bug 42545: (QA follow-up) Add POD for _init and _holidays and fix incorrect test expectation 2026-05-20 09:04:53 -06:00
Checkout.pm Bug 37762: Circulation: Hook to checkouts/checkins 2026-05-08 12:25:43 -06:00
Checkouts.pm Bug 34596: Add rebuild queue where needed for existing calls to AddReturn 2025-10-06 09:15:17 -06:00
CirculationRule.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CirculationRules.pm Bug 10190: Complete Vue.js rewrite of Circulation Triggers administration interface 2026-09-10 14:24:25 +00:00
Cities.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
City.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ClassSortRule.pm Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
ClassSortRules.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ClassSource.pm Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
ClassSources.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ClassSplitRule.pm Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
ClassSplitRules.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Club.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Clubs.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Config.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ContentSecurityPolicy.pm Bug 38365: Switch from using ENV to package level variable for nonce caching 2026-03-16 11:57:33 +01:00
CookieManager.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Course.pm Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
Courses.pm Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
CoverImage.pm Bug 8088: (follow-up) Tidy 2026-04-15 14:10:15 -06:00
CoverImages.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CsvProfile.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CsvProfiles.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickup.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupIssue.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupIssues.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupOpeningSlot.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupOpeningSlots.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupPolicies.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickupPolicy.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
CurbsidePickups.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Database.pm Bug 38384: Refactor plugin loading to use lightweight Koha::Plugins::Loader 2026-02-25 07:36:59 -07:00
DateUtils.pm Bug 40680: Move EXPORT_OK right after Modern::Perl 2025-12-01 08:33:56 -07:00
Desk.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Desks.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
EDI.pm Bug 30144: Add tests for EDIFACT servicing instruction handling 2026-08-28 16:36:24 +00:00
Edifact.pm Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
Email.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Encryption.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Exception.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Exceptions.pm Bug 36942: Use an exception for a failed KBART file parse 2025-09-18 14:31:03 -06:00
ExternalContent.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
FrameworkPlugin.pm Bug 42764: Fix spelling errors across the codebase 2026-06-03 16:09:04 +00:00
Hold.pm Bug 41879: (QA follow-up) Add pod for new sub _pickup_valid_for_item 2026-07-27 15:53:30 +00:00
HoldGroup.pm Bug 41983: (QA follow-up): Rebuild the holds queue when groups are edited 2026-05-06 15:20:58 -06:00
HoldGroups.pm Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
Holds.pm Bug 33364: Prevent Holds to Pull from including items with pending recalls 2026-07-27 12:12:53 +00:00
I18N.pm Bug 40680: Move EXPORT_OK right after Modern::Perl 2025-12-01 08:33:56 -07:00
ImportBatch.pm Bug 43168: Check if there are errors, not if variable defined 2026-07-31 13:40:20 +00:00
ImportBatchProfile.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ImportBatchProfiles.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ImportBatches.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Installer.pm Bug 40437: Remove warning from Koha/Installer.t 2025-07-18 11:09:57 -06:00
Item.pm Bug 41728: (follow-up) Replace require with use for Availability::Checkin 2026-09-04 11:24:03 +00:00
ItemType.pm Bug 38136: Refactor database translations (alternative) 2026-04-15 11:37:14 -06:00
ItemTypes.pm Bug 38136: Refactor database translations (alternative) 2026-04-15 11:37:14 -06:00
Items.pm Bug 30233: Stop running MARC modification replacements as code 2026-08-11 12:39:26 +00:00
KeyboardShortcut.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
KeyboardShortcuts.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Language.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Libraries.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Library.pm Bug 39482: Correct the link to edit OpacLibraryInfo from library edit page 2025-12-29 09:56:16 -07:00
Linktracker.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Logger.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Manual.pm Bug 16631: Institute library limits 2026-07-28 14:32:25 +00:00
MarcOrder.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcOrderAccount.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcOrderAccounts.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcOverlayRule.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcOverlayRules.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcSubfieldStructure.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MarcSubfieldStructures.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MetaSearcher.pm Bug 41205: Skip undef records in Z39 response 2025-11-17 15:15:48 -07:00
MetadataIterator.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MetadataRecord.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
MoreUtils.pm Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
OAIServer.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
OAIServers.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
OAuth.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
OAuthAccessToken.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
OAuthAccessTokens.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Object.pm Bug 42391: (follow-up) Restore DB exception warnings in Object::store 2026-07-21 15:40:23 +00:00
Objects.pm Bug 39729: Add option -exact_days to filter_by_last_update 2026-07-28 14:32:43 +00:00
Patron.pm Bug 39658: Add link_to_patron and linked_account_links methods 2026-09-09 12:07:38 +00:00
Patrons.pm Bug 42018: Prevent null values from breaking patron duplicate matching 2026-08-14 12:09:37 +00:00
Plugins.pm Bug 42430: (QA follow-up) Fix nested plugin package corruption on reload 2026-07-13 15:46:23 +00:00
ProblemReport.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
ProblemReports.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
PseudonymizedTransaction.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
PseudonymizedTransactions.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Quote.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Quotes.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Rating.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Ratings.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Recall.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Recalls.pm Bug 42396: Adjust 'use' statements 2026-07-27 15:53:23 +00:00
RecordProcessor.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
RecordSource.pm Bug 35380: Change record sources to by systemdefined 2026-03-26 09:46:15 +01:00
RecordSources.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Report.pm Bug 16631: Institute library limits 2026-07-28 14:32:25 +00:00
Reports.pm Bug 16631: Institute library limits 2026-07-28 14:32:25 +00:00
Review.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Reviews.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Schema.pm Bug 42391: (QA follow-up): Clarify exception_action ref-passthrough comment 2026-07-20 12:44:57 +00:00
Script.pm Bug 42766: (QA follow-up) Broaden sensitive patterns 2026-08-04 10:20:53 +00:00
SearchEngine.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchField.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchFields.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchFilter.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchFilters.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchMarcMap.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SearchMarcMaps.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Serial.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Serials.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Session.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SharedContent.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
SimpleMARC.pm Bug 30233: Stop running MARC modification replacements as code 2026-08-11 12:39:26 +00:00
Sitemapper.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Statistic.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Statistics.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Status.pm Bug 41107: Add /status/version API endpoint 2026-03-23 09:33:54 +01:00
StockRotationItem.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
StockRotationItems.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
StockRotationRota.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
StockRotationRotas.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
StockRotationStage.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
StockRotationStages.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Subscription.pm Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
Subscriptions.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Suggestion.pm Bug 42723: Purchase suggestion 500 when EmailPurchaseSuggestions is set to BranchEmailAddress 2026-06-05 14:26:09 +00:00
SuggestionEngine.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Suggestions.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Tag.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Tags.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
TemplateUtils.pm Bug 42136: prevent cgi, directory, and file plugins from use in user-entered templates 2026-04-28 15:48:20 -06:00
Ticket.pm Bug 41950: (follow-up) Add DBIC relationship aliases for +count embeds 2026-06-29 16:19:49 +00:00
Tickets.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Token.pm Bug 42924: Restore default MaxAge for CSRF token 2026-09-01 15:42:08 +00:00
TrackedLink.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
TrackedLinks.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
UploadedFile.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
UploadedFiles.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Uploader.pm Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
Virtualshelf.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Virtualshelfcontent.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Virtualshelfcontents.pm Bug 20846: Filter suppressed records from public lists in OPAC 2026-08-21 14:31:50 +00:00
Virtualshelfshare.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Virtualshelfshares.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Virtualshelves.pm Bug 18148: Make list of lists in OPAC sortable 2025-11-05 07:12:35 -07:00
Z3950Responder.pm Bug 40946: Remove warning "Aborted connection" from Koha/Z3950Responder/ZebraSession.t 2026-02-06 15:17:13 -07:00
Z3950Server.pm Bug 40841: Add Z39.50 library limits 2026-03-26 14:21:27 +01:00
Z3950Servers.pm Bug 40841: Add Z39.50 library limits 2026-03-26 14:21:27 +01:00