Koha-clms/t
Martin Renvoize 63e4f77edd
Bug 41358: Always store circulation logs in consistent JSON format
Previously, CIRCULATION ISSUE logs would store just the itemnumber when
there were no confirmations or forced overrides, but would store a full
JSON structure when overrides were present. This inconsistency makes
reporting difficult as queries need to handle both formats.

This patch changes AddIssue to always store logs in JSON format,
matching the pattern already used in AddRenewal. The JSON structure
now consistently includes:
- issue: issue_id
- branchcode: branchcode
- itemnumber: itemnumber
- confirmations: array of confirmation codes (empty array if none)
- forced: array of forced override codes (empty array if none)

Benefits:
- Consistent data format simplifies reporting and analysis
- Matches existing RENEWAL logging pattern
- Display code (tools/viewlog.pl) already handles both formats,
  so backward compatibility is maintained

Test plan:
1. prove t/db_dependent/Circulation.t
2. Perform a normal checkout - verify action log contains JSON
3. Perform a checkout with overrides - verify confirmations/forced
   are populated in the JSON
4. Check Tools > Log viewer - both types should display correctly

Sponsored-by: OpenFifth <https://openfifth.co.uk/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2026-08-10 14:56:40 -06:00
..
Acquisition
…
Biblio
…
Budgets
…
C4/ClassSplitRoutine Bug 30233: (follow-up) Add tests for _apply_substitution and combined modifiers 2026-08-10 08:18:02 -06:00
Circulation
…
External Bug 41479: Remove Baker & Taylor integration 2026-03-24 07:50:10 +01:00
Koha Bug 30233: (follow-up) Add tests for _apply_substitution and combined modifiers 2026-08-10 08:18:02 -06:00
Number
…
SIP
…
Search Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Serials Bug 41330: Unit tests 2026-03-09 17:06:49 -06:00
Template Bug 42136: Add tests 2026-04-28 15:48:21 -06:00
Test Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
cypress Bug 42666: Add a Cypress test 2026-07-09 13:06:47 -06:00
data Bug 41032: Fix Open Fifth missing in plugin repos config 2025-11-26 10:40:25 -07:00
db_dependent Bug 41358: Always store circulation logs in consistent JSON format 2026-08-10 14:56:40 -06:00
edi_testfiles
…
etc
…
lib Bug 41216: Fix failing test 2026-04-10 09:48:09 -06:00
mock_templates Bug 42684: Capitalization: No Barcode 2026-06-15 18:12:21 -06:00
00-check-atomic-updates.t
…
00-load.t
…
00-merge-conflict-markers.t
…
00-testcritic.t
…
00-valid-xml.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
Auth.t
…
AuthoritiesMarc_MARC21.t Bug 41795: Fix failing test in UNIMARC instances 2026-05-01 11:04:33 -06:00
AuthoritiesMarc_UNIMARC.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Barcodes_EAN13.t
…
Barcodes_annual.t
…
Barcodes_hbyymmincr.t
…
Barcodes_incremental.t
…
Biblio.t
…
Biblio2.t
…
Breeding.t Bug 40017: (follow-up) Update GNU license link 2025-10-22 07:42:53 -06:00
Budgets.t
…
Charset.t
…
Circulation_barcodedecode.t
…
ClassSortRoutine.t
…
ClassSortRoutine_Dewey.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
ClassSortRoutine_Generic.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
ClassSortRoutine_LCC.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
ClassSource.t
…
Context.t Bug 42360: Move separator validation to C4::Context::csv_delimiter 2026-07-07 07:47:46 -06:00
Contract.t
…
CookieManager.t
…
Creators.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
DateUtils.t
…
EdiInvoice.t
…
Edifact.t Bug 40383: Add unit tests for Koha::Edifact to_json method 2026-03-26 14:21:18 +01:00
Ediorder.t Bug 41709: Fix EDIfact special character escaping in GIR segments and other fields 2026-07-13 16:10:21 -06:00
Ediordrsp.t
…
Form_MessagingPreferences.t
…
HtmlTags.t
…
ImportBatch.t
…
Installer_PerlModules.t
…
ItemCirculationAlertPreference.t
…
Koha_MetadataRecord.t
…
Koha_SearchEngine_Elasticsearch_Browse.t
…
Koha_Template_Plugin_HtmlId.t
…
Koha_Template_Plugin_Koha.t Bug 41107: (follow-up) Use Koha::Status in Koha::Template::Plugin::Koha 2026-03-23 09:33:54 +01:00
Koha_Util_FrameworkPlugin.t
…
Koha_Util_MARC.t
…
Koha_XSLT_HTTPS.t
…
Labels.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Labels_split_Regex.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Labels_split_ccn.t
…
Labels_split_ddcn.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Labels_split_lccn.t Bug 40680: Fix t/Labels* 2025-12-01 08:34:00 -07:00
Languages.t Bug 39745: Replace more occurrences in selenium tests 2026-02-09 12:57:59 -07:00
Logger.t
…
Makefile.t Bug 42353: (follow-up) Add .nvmrc to Makefile 2026-04-16 15:54:05 -06:00
Members_Messaging.t
…
OpenLibrarySearch.t
…
Output.t Bug 30261: Update unit tests 2026-03-20 11:54:32 +00:00
Output_JSONStream.t
…
Patroncards.t
…
Patroncards_Batch.t
…
Patroncards_Lib.t
…
Patroncards_Patroncard.t
…
Patroncards_Profile.t
…
Patroncards_Template.t
…
RecordProcessor.t
…
Ris.t
…
SMS.t Bug 40680: Fix t tests 2025-12-01 08:34:01 -07:00
Scheduler.t
…
Scrubber.t Bug 40659: Change Scrubber profile name to opac_virtual_card 2026-04-23 16:04:11 -06:00
Search.t
…
Search_PazPar2.t
…
SimpleMARC.t
…
SuggestionEngine.t
…
SuggestionEngine_AuthorityFile.t
…
TmplToken.t
…
Token.t
…
template_filters.t
…
timezones.t
…