Bug 41814

Summary: Limit the maximum age for borrower categories without a specified range
Product: Koha Reporter: Jake Deery <jake.deery>
Component: PatronsAssignee: Jake Deery <jake.deery>
Status: Needs Signoff --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: gmcharlt, kyle
Version: unspecified   
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: 39579    
Bug Blocks:    
Attachments: Bug 41814: Add PatronAgeRestriction syspref and code

Description Jake Deery 2026-02-11 09:15:43 UTC
We should be able to optionally set a maximum age for any borrower categories that don't already have a specified range.

This is already possible on the OPAC with PatronSelfRegistrationAgeRange, I propose a PatronAgeRange that applies to the intranet, as well as the OPAC (if PatronSelfRegistrationAgeRange is not set).
Comment 1 Jake Deery 2026-02-11 09:55:24 UTC
Created attachment 192969 [details] [review]
Bug 41814: Add PatronAgeRestriction syspref and code

This patch adds a new PatronAgeRestriction, which acts in the same way PatronSelfRegistrationAgeRestriction (a restriction on the maximum age of a borrower), except for the intranet. It will also act as the maximum age restrictor on the OPAC, in the event that the PatronSelfRegistrationAgeRestriction is not set.

To test:
== APPLY PATCH ==
a)  updatedatabase
b)  Set the PatronAgeRestriction syspref to 20, set the PatronSelfRegistrationAgeRestriction to 30
c)  On the OPAC, try to create or modify a patron whose age is 35 years
    *)  Note the error message presented, suggesting the age exceeds the maximum
d)  On the OPAC, try to create or modify a patron whose age is 25 years
    *)  Note the submission succeeds
e)  On the staff client, try to create or modify a patron whose age is 25 years
    *)  Note the error message presented, suggesting the age exceeds the maximum
f)  Set the PatronSelfRegistrationAgeRestriction to empty
g)  On the OPAC, try to create or modify a patron whose age is 25 years
    *)  Note the error message presented, suggesting the age exceeds the maximum
h)  On the OPAC, try to create or modify a patron whose age is 19 years
    *)  Note the submission succeeds
i)  Set the PatronAgeRestriction to empty
j)  On the staff client, try to create or modify a patron whose age is 75 years
    *)  Note the submission succeeds
k)  On the OPAC, try to create or modify a patron whose age is 75 years
    *)  Note the submission succeeds
== SIGN OFF ==