Bug 41276 - Auto calculation of patron expiration date when editing patron does not follow BorrowerRenewalPeriodBase
Summary: Auto calculation of patron expiration date when editing patron does not follo...
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Patrons (show other bugs)
Version: Main
Hardware: All All
: P5 - low normal
Assignee: Bugs List
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-19 18:03 UTC by Andrew Fuerste-Henry
Modified: 2025-11-19 18:03 UTC (History)
2 users (show)

See Also:
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Fuerste-Henry 2025-11-19 18:03:02 UTC
The system preference BorrowerRenewalPeriodBase defines how Koha calculates a patron's expiration date when renewing their account (either by clicking Renew in the staff interface or via the membership_expiry cron). However, Koha will also calculate a new patron expiration date when saving a patron without an expiration date defined. That calculation does not follow the syspref at all. Instead, it calculates differently depending on whether or not the patron registration date is visible in the patron edit screen.

To recreate:
1 - confirm patron registration date is *not* hidden with BorrowerUnwantedField
2 - edit a patron, clear their expiration date, and save
3 - confirm their new expiration date was calculated from their registration date
4 - set BorrowerUnwantedField to hide registration date
5 - edit a patron, clear their expiration date, and save
6 - confirm their new expiration date was calculated from the current date

This variation of behavior is not particularly clear or expected. It would make more sense to follow BorrowerRenewalPeriodBase when saving a patron with a blank expiration date.