Summary: | systempreferences.value cannot be set to NULL | ||
---|---|---|---|
Product: | Koha | Reporter: | Jonathan Druart <jonathan.druart> |
Component: | Architecture, internals, and plumbing | Assignee: | Jonathan Druart <jonathan.druart> |
Status: | Needs Signoff --- | QA Contact: | Testopia <testopia> |
Severity: | normal | ||
Priority: | P5 - low | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | --- | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Bug Depends on: | |||
Bug Blocks: | 25515 | ||
Attachments: |
Bug 40405: Set systempreferences.value to NOT NULL
Bug 40405: Set decreaseLoanHighHolds\* to 0 Bug 40405: [DO NOT PUSH] Show the problem with C4::Context->set_preference Bug 40405: And ILLOpacUnauthenticatedRequest |
Description
Jonathan Druart
2025-07-16 09:46:37 UTC
Created attachment 184129 [details] [review] Bug 40405: Set systempreferences.value to NOT NULL Some sysprefs have NULL as their default value, and systempreferences.value allows NULL values. However C4::Context->set_preference does not unset a syspref if "undef" is passed. Additionally some of the sysprefs that have NULL as default will generate warnings in the logs (and test suite output). opac/opac-suggestions.pl: for my $f ( split( /\s*\,\s*/, C4::Context->preference("OPACSuggestionUnwantedFields") ) ) { Here is the current list: +-------------------------------+-------+ | variable | value | +-------------------------------+-------+ | decreaseLoanHighHoldsDuration | NULL | | decreaseLoanHighHoldsValue | NULL | | ILLHiddenRequestStatuses | NULL | | ILLOpacbackends | NULL | | ILLSendStaffNotices | NULL | | ListOwnerDesignated | NULL | | MarcFieldDocURL | NULL | | MaxFine | NULL | | OPACSuggestionUnwantedFields | NULL | | ReportsExportLimit | NULL | | SerialsSearchResultsLimit | NULL | +-------------------------------+-------+ Test plan: Code review required here, please confirm the above and that the different occurrences do not use "undef" as a value. Note that some tests now do not longer generate warnings (eg. t/db_dependent/selenium/opac_ill_requests.t) Created attachment 184130 [details] [review] Bug 40405: Set decreaseLoanHighHolds\* to 0 When reviewing the different sysprefs that had "NULL" as default, I only found those 2 occurrences that could be problematic. I think we should default to 0 here. Created attachment 184131 [details] [review] Bug 40405: [DO NOT PUSH] Show the problem with C4::Context->set_preference Apply this patch before the others and notice the failure. Created attachment 184205 [details] [review] Bug 40405: And ILLOpacUnauthenticatedRequest No idea why it was not NULL in DB when I did my first SELECT |