Go to file
Martin Renvoize e5bd7c1ad4
Bug 40866: Implement Alternative pattern for holds override logging (Part 4)
This patch implements proper override logging for holds following the
Alternative implementation pattern used for checkouts and renewals.

Instead of just removing the orphaned logging code from the original
Bug 9762 implementation, this patch properly implements override logging
by updating AddReserve to accept and log override information, similar
to how AddIssue handles confirmations and forced overrides.

Changes:

C4/Reserves.pm:
- Added JSON qw(to_json) import
- Updated AddReserve to accept confirmations and forced parameters
- Enhanced the existing logaction call to include override information
  in JSON format when overrides are present
- Log format matches the Alternative implementation pattern:
  * hold ID
  * branchcode
  * biblionumber
  * itemnumber
  * confirmations array
  * forced array

Koha/REST/V1/Holds.pm:
- Added confirmations array building in the add() method
- Pass 'HOLD_POLICY_OVERRIDE' confirmation when override_all is true
- Pass confirmations parameter to AddReserve call

reserve/request.pl:
- Removed orphaned original implementation logging code
- Removed unused variables and imports (message, @message, user, etc.)
- Removed C4::Log import

koha-tmpl/intranet-tmpl/prog/en/includes/action-logs.inc:
- Added 'HOLD_POLICY_OVERRIDE' case to translate_log_override block
- Displays as "Hold policy override" in log viewer

koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt:
- Added JSON display handling for HOLDS module (similar to CIRCULATION)
- Displays hold ID, biblionumber, and optional itemnumber with links
- Shows forced and confirmation overrides using translate_log_override

This ensures hold overrides are logged consistently with the Alternative
implementation pattern, providing proper audit trails for policy overrides
that are properly displayed in the log viewer.

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1884f68c5b)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-10-29 10:02:18 +01:00
.github/workflows Bug 40027: Use GitHub workflow to automatically close PRs opened on the Koha repo there 2025-10-23 23:06:52 +02:00
C4 Bug 40866: Implement Alternative pattern for holds override logging (Part 4) 2025-10-29 10:02:18 +01:00
Koha Bug 40866: Implement Alternative pattern for holds override logging (Part 4) 2025-10-29 10:02:18 +01:00
acqui Bug 39572: Improve EDIFACT order confirmation message 2025-07-24 10:23:14 +02:00
admin Bug 40734: Fix creating new library with additional fields 2025-09-25 16:22:41 +02:00
api Bug 40684: Adjust permissions for vendors 2025-09-25 16:22:58 +02:00
authorities Bug 38514: Filter out autocomplete list of authorities with ConsiderHeadingUse 2025-08-22 09:47:58 +02:00
basket Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
bin
…
bookings Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
catalogue Bug 37883: Add ability to filter search results location column by logged in location 2025-09-16 14:02:11 +02:00
cataloguing Bug 37116: Redirect to serial modification when modifying an item 2025-09-20 10:42:40 +02:00
circ Bug 40866: Remove original Bug 9762 implementation remnants (Part 3 - Returns) 2025-10-29 10:02:18 +01:00
clubs Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
course_reserves Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
debian Bug 40812: Move Theke sample plugin repo to GitHub 2025-09-25 16:22:44 +02:00
docs Bug 40022: Sync teams in Koha, Wiki and release-tools 2025-07-10 22:47:12 +02:00
erm Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
errors Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
etc Bug 40812: Move Theke sample plugin repo to GitHub 2025-09-25 16:22:44 +02:00
ill Bug 40075: Only show pickup_location libraries 2025-08-22 09:48:34 +02:00
installer Increment version for 25.05.04 release 2025-09-25 20:49:59 +02:00
koha-tmpl Bug 40866: Implement Alternative pattern for holds override logging (Part 4) 2025-10-29 10:02:18 +01:00
labels Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
lib Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
members Bug 40886: Ensure patron messages display in proper chronological order 2025-10-23 23:06:48 +02:00
misc Bug 40953: marc_ordering_process.pl broken due to accidental newline 2025-10-23 23:06:49 +02:00
offline_circ Bug 40275: Use Koha::Patrons->find_by_identifier in the codebase 2025-09-20 10:43:37 +02:00
opac Bug 40929: Add $hold test in opac-modrequest 2025-10-23 23:06:45 +02:00
patron_lists Bug 37266: patron_lists/delete.pl should have CSRF protection 2025-03-06 13:54:49 +01:00
patroncards Bug 39800: Error 500 when trying to delete patron card template 2025-05-19 09:49:41 +02:00
plugins Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
pos Bug 40305: Fix 'tendered' vs 'collected' variable name inconsistency 2025-09-16 14:02:24 +02:00
preservation Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
recalls Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
reports Bug 40419: Fix wrong license 2025-07-24 10:23:34 +02:00
reserve Bug 40866: Implement Alternative pattern for holds override logging (Part 4) 2025-10-29 10:02:18 +01:00
reviews Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
rotating_collections Bug 31930: Ignore whitespace before and after barcodes 2025-08-22 09:48:05 +02:00
serials Bug 40861: Remove warning from serials/acqui-search-result.pl 2025-09-25 16:22:55 +02:00
services Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
skel
…
suggestion Bug 36155: Improve perfs of suggestion.pl when there are many budgets 2025-09-20 10:43:15 +02:00
svc Bug 40866: Remove original Bug 9762 implementation remnants (Part 2 - Renewals) 2025-10-29 10:02:17 +01:00
t Bug 40915: (RMaint follow-up) Backport adaptation to satisfy xt/find-license-problems.t 2025-10-29 10:02:11 +01:00
tags Bug 38969: (QA follow-up) fix tidy 2025-04-28 18:51:18 +02:00
tools Bug 38633: Prevent holidays from being ignored 2025-09-25 16:22:52 +02:00
virtualshelves Bug 40916: Fix another occurance 2025-10-23 23:06:48 +02:00
xt Bug 37622: Adjust 'location' header test 2025-10-23 23:06:37 +02:00
.codespell-ignore Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
.editorconfig
…
.git-blame-ignore-revs Bug 39096: Add 'tidy all' commits to a git blame ignore file 2025-02-17 13:10:25 +01:00
.gitignore Bug 40838: Add generated bookings CSS assets to gitignore 2025-09-25 16:22:51 +02:00
.htaccess
…
.mailmap 25.05.00: Update .mailmap (part 4) 2025-05-26 10:19:09 -03:00
.perlcriticrc
…
.perltidyrc Bug 30002: Adjust perltidy 2023-06-08 08:32:42 -03:00
.prettierrc.js Bug 38664: Treat .vue files like other JS files 2025-02-11 14:58:25 +01:00
.proverc.dist
…
.stylelintrc.json
…
INSTALL
…
Koha.pm Increment version for 25.05.04 release 2025-09-25 20:49:59 +02:00
LICENSE
…
MANIFEST.SKIP
…
Makefile.PL Bug 40027: (follow-up) Add .github/ to Makefile.PL 2025-10-23 23:06:54 +02:00
README
…
README.md
…
README.robots
…
about.pl Bug 40608: (follow-up) Add warning in about page 2025-09-20 10:42:34 +02:00
app.psgi Bug 36149: Add userenv middleware to app.psgi 2024-05-14 15:04:37 -03:00
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
cpanfile Bug 40164: Add Template::Plugin::JSON dependency 2025-07-10 22:47:33 +02:00
cypress.config.ts Bug 40346: Use KOHA_INTRANET_URL for the baseUrl 2025-08-22 09:47:41 +02:00
eslint.config.mjs Bug 38524: Enable ESLint for .ts and .vue files 2025-01-16 15:56:17 +01:00
fix-perl-path.PL Bug 39325: (QA follow-up) Adjust some issues 2025-04-28 18:51:30 +02:00
gulpfile.js Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
help.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
kohaversion.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
mainpage.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
package.json Bug 40170: Replace cypress-mysql with mysql2 - Cypress tests 2025-07-10 22:47:37 +02:00
rewrite-config.PL Bug 39834: Replace some tabs with spaces 2025-06-17 21:42:59 +02:00
rspack.config.js Bug 40173: Make http-client reusable from Cypress tests 2025-08-22 09:47:30 +02:00
tsconfig.json Bug 32030: Move cypress to t - fix build_js/watch_js 2022-11-08 09:44:52 -03:00
yarn.lock Bug 40170: Update yarn.lock 2025-07-10 22:47:42 +02:00

README.md

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo