Bug 37512

Summary: Add a function to reset login attempts
Product: Koha Reporter: Baptiste Wojtkowski (bwoj) <baptiste.wojtkowski>
Component: CirculationAssignee: Bugs List <koha-bugs>
Status: Signed Off --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: gmcharlt, kyle.m.hall, roman.dolny
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on: 25947    
Bug Blocks:    
Attachments: Bug 37512: Add a function to reset login attempts
Bug 37512: (QA follow-up) Fix filter
Bug 37512: Add a function to reset login attempts
Bug 37512: Add a function to reset login attempts

Description Baptiste Wojtkowski (bwoj) 2024-07-29 14:23:52 UTC
When a user tries to much login attempts, they are blocked.
There are two ways to unlock the user:
1 - Change the database
2 - Reset the password

There is currently no option to simply remove the lock for a blocked account. In BZ 25947 (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=25947) we added a button to reset the password and another to simply reset the loginattempts.

This bug has been created to split the two improvements. This bugs containts the improvements related to the button to reset loginattempts
Comment 1 Baptiste Wojtkowski (bwoj) 2024-07-29 15:15:30 UTC
Created attachment 169845 [details] [review]
Bug 37512: Add a function to reset login attempts

When using system preference 'FailedLoginAttempts', a patron's account is blocked after X many failed login attempts on the OPAC.

This patch adds, like for "Patron's card has expired" message :
  * a link to reset login attempts to 0
Link is only displayed if libarian has permission to edit patrons.

Reset login attempts to 0 feature uses members/setstatus.pl with
resetloginattempts=y like reregistration=y for an expired patron

To test:
1. Change system preference 'FailedLoginAttempts' to a small number, like 2
2. Go to a patron's account and copy their username (while you're there, change the password and add some fines, too)
3. In the OPAC, try to log in with the username and a wrong password 3 times
4. Go back to the patron's account in the staff interface
5. Note that there is a message : "Patron's account has been locked (due to 3 failed login attempts)"
6. Click on "Reset login attempts", page reloads and you see patron is unlocked
Comment 2 Baptiste Wojtkowski (bwoj) 2024-07-29 15:15:33 UTC
Created attachment 169846 [details] [review]
Bug 37512: (QA follow-up) Fix filter
Comment 3 Roman Dolny 2024-07-29 17:03:31 UTC
kohadev-koha@kohadevbox:koha(bug_37512)$ git bz apply 37512

Bug 37512 - Add a function to reset login attempts

169845 - Bug 37512: Add a function to reset login attempts
169846 - Bug 37512: (QA follow-up) Fix filter

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 37512: Add a function to reset login attempts
error: sha1 information is lacking or useless (koha-tmpl/intranet-tmpl/prog/en/includes/patron_messages.inc).
error: could not build fake ancestor
Patch failed at 0001 Bug 37512: Add a function to reset login attempts
Comment 4 Baptiste Wojtkowski (bwoj) 2024-07-30 08:45:57 UTC
Oh I did not mention in the test plan to apply BZ25947, I add it
Comment 5 Baptiste Wojtkowski (bwoj) 2024-07-30 08:47:08 UTC
Created attachment 169854 [details] [review]
Bug 37512: Add a function to reset login attempts

When using system preference 'FailedLoginAttempts', a patron's account is blocked after X many failed login attempts on the OPAC.

This patch adds, like for "Patron's card has expired" message :
  * a link to reset login attempts to 0
Link is only displayed if libarian has permission to edit patrons.

Reset login attempts to 0 feature uses members/setstatus.pl with
resetloginattempts=y like reregistration=y for an expired patron

To test:
1. Apply BZ25947
2. Change system preference 'FailedLoginAttempts' to a small number, like 2
3. Go to a patron's account and copy their username (while you're there, change the password and add some fines, too)
4. In the OPAC, try to log in with the username and a wrong password 3 times
5. Go back to the patron's account in the staff interface
6. Note that there is a message : "Patron's account has been locked (due to 3 failed login attempts)"
7. Click on "Reset login attempts", page reloads and you see patron is unlocked
Comment 6 Roman Dolny 2024-07-30 14:13:36 UTC
Created attachment 169865 [details] [review]
Bug 37512: Add a function to reset login attempts

When using system preference 'FailedLoginAttempts', a patron's account is blocked after X many failed login attempts on the OPAC.

This patch adds, like for "Patron's card has expired" message :
  * a link to reset login attempts to 0
Link is only displayed if libarian has permission to edit patrons.

Reset login attempts to 0 feature uses members/setstatus.pl with
resetloginattempts=y like reregistration=y for an expired patron

To test:
1. Apply BZ25947
2. Change system preference 'FailedLoginAttempts' to a small number, like 2
3. Go to a patron's account and copy their username (while you're there, change the password and add some fines, too)
4. In the OPAC, try to log in with the username and a wrong password 3 times
5. Go back to the patron's account in the staff interface
6. Note that there is a message : "Patron's account has been locked (due to 3 failed login attempts)"
7. Click on "Reset login attempts", page reloads and you see patron is unlocked

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>