Bug 42029

Summary: Add diff support to RECALLS action logs
Product: Koha Reporter: Martin Renvoize (ashimema) <martin.renvoize>
Component: Transaction logsAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low    
Version: Main   
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on:    
Bug Blocks: 37940    

Description Martin Renvoize (ashimema) 2026-03-09 15:34:22 UTC
The action logging for the RECALLS module (Koha/Recall.pm) currently logs status-change actions (OVERDUE, EXPIRE, CANCEL, FILL) with simple string messages such as 'Recall status set to overdue'. These calls do not pass the $original parameter to logaction(), so no structured diff is generated in the action_logs.diff column.

This bug covers updating the four logaction() calls in Koha/Recall.pm to pass the pre-change recall state as the sixth argument ($original), enabling before/after comparison in the action log viewer.

Affected calls:
- RECALLS/OVERDUE (Koha/Recall.pm ~line 437)
- RECALLS/EXPIRE  (Koha/Recall.pm ~line 454)
- RECALLS/CANCEL  (Koha/Recall.pm ~line 470)
- RECALLS/FILL    (Koha/Recall.pm ~line 486)

Since Koha::Recall is a Koha::Object subclass, $self->unblessed can be captured before the status change and passed as $original.