Bug 34597 - Expired patrons can still place ILL requests through OPAC
Summary: Expired patrons can still place ILL requests through OPAC
Status: Pushed to main
Alias: None
Product: Koha
Classification: Unclassified
Component: ILL (show other bugs)
Version: Main
Hardware: All All
: P5 - low major (vote)
Assignee: Pedro Amorim
QA Contact: Martin Renvoize
URL:
Keywords:
Depends on: 36453
Blocks:
  Show dependency treegraph
 
Reported: 2023-08-23 13:55 UTC by Pedro Amorim
Modified: 2024-06-11 09:44 UTC (History)
11 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
24.11.00


Attachments
Bug 34597: Add 'ill_request' to patron category admin page (2.71 KB, patch)
2024-03-28 13:12 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to system preference options (3.11 KB, patch)
2024-03-28 13:12 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add tests (3.25 KB, patch)
2024-03-28 13:12 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Implementation (5.17 KB, patch)
2024-03-28 13:12 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to patron category admin page (2.71 KB, patch)
2024-04-23 16:18 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to system preference options (2.83 KB, patch)
2024-04-23 16:18 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add tests (3.26 KB, patch)
2024-04-23 16:18 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Implementation (5.16 KB, patch)
2024-04-23 16:18 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Implementation (5.31 KB, patch)
2024-05-10 13:35 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Implementation (5.31 KB, patch)
2024-05-10 13:37 UTC, Pedro Amorim
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to patron category admin page (2.75 KB, patch)
2024-05-14 07:21 UTC, David Nind
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to system preference options (2.88 KB, patch)
2024-05-14 07:21 UTC, David Nind
Details | Diff | Splinter Review
Bug 34597: Add tests (3.30 KB, patch)
2024-05-14 07:21 UTC, David Nind
Details | Diff | Splinter Review
Bug 34597: Implementation (5.36 KB, patch)
2024-05-14 07:21 UTC, David Nind
Details | Diff | Splinter Review
Bug 34597: (follow-up) Update system preference description and order of options (3.36 KB, patch)
2024-05-14 07:21 UTC, David Nind
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to patron category admin page (2.82 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 34597: Add 'ill_request' to system preference options (2.94 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 34597: Add tests (3.37 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 34597: Implementation (5.42 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 34597: (follow-up) Update system preference description and order of options (3.42 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 34597: (QA follow-up) Add missing database revision (1.30 KB, patch)
2024-06-05 16:20 UTC, Martin Renvoize
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro Amorim 2023-08-23 13:55:39 UTC
Noticed this, not sure if very severe or not. But I wonder if placing an ILL request should be included in BlockExpiredPatronOpacActions.

To reproduce, on k-t-d:
1) Enable ILLmodule and install FreeForm, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) Make koha/koha user expired, run mysql-kohadev:
update borrowers set dateexpiry = '2020-12-31' where borrowernumber=51;
3) Visit OPAC/cgi-bin/koha/opac-user.pl and verify there's a user expired notification
4) Visit OPAC/cgi-bin/koha/opac-illrequests.pl and create a new ILL request
5) It's created with no issue
Comment 1 Nick Clemens (kidclamp) 2023-08-25 12:31:44 UTC
This is similar to how some libraries don't wish to block holds - as a fulfilled hold may encourage the patron to come to the library and renew their account.

I think it probably should have a switch/syspref to determine whether it should eb blocked or not
Comment 2 Georgia Newman 2023-12-01 09:18:35 UTC
We’ve had an instance this week whereby an expired user was able to place an ILL request, which we assumed would have been blocked by BlockExpiredPatronOpacActions. We would want to prevent expired users from placing ILL requests. Looking through the system preferences, we did think about whether we could maybe use the LockExpiredDelay preference (and say set to 1 day), to prevent expired patrons logging into the OPAC at all, in order to prevent these instances slipping through. However, I think this preference would be too blunt, as it requires the misc/cronjobs/cleanup_database.pl to be running. Assuming this was say set to run once daily, in the event of a staff member extending the expiry date of a patron, presumably they would still be blocked from logging into the OPAC for the rest of the day until the job ran again. So for us it makes sense to see placing an ILL request included in the BlockExpiredPatronOpacActions preference, as it seems less blunt than using the LockExpiredDelay preference to prevent this action.
Comment 3 Pedro Amorim 2023-12-01 12:36:43 UTC
Perhaps we could enhance BlockExpiredPatronOpacActions to be a selection list of multiple actions (place holds, place ILL requests, others) instead of just an on/off as it is currently.

This would:
1) Be in line with existing behavior for those upgrading.
2) Extend existing behavior to potentially include placing an ILL request as a optional blocked action (among other possible actions).
3) Still allow libraries who wish to keep the possibility of placing holds for blocked patrons (as Nick mentioned)
4) Not be YASP.

Thoughts?
Comment 4 Nick Clemens (kidclamp) 2023-12-01 12:56:48 UTC
(In reply to Pedro Amorim from comment #3)
> Perhaps we could enhance BlockExpiredPatronOpacActions to be a selection
> list of multiple actions (place holds, place ILL requests, others) instead
> of just an on/off as it is currently.
> 
> This would:
> 1) Be in line with existing behavior for those upgrading.
> 2) Extend existing behavior to potentially include placing an ILL request as
> a optional blocked action (among other possible actions).
> 3) Still allow libraries who wish to keep the possibility of placing holds
> for blocked patrons (as Nick mentioned)
> 4) Not be YASP.
> 
> Thoughts?

+1
Comment 5 R Bradshaw 2024-03-20 11:17:25 UTC
Good morning, all,

This has become a bit of a problem in the NHS consortium for East of England (23 libraries in total). The main issue for us seems to be that on the ILL module on the staff interface an expired user does not flag as expired when an ILL article request is put through. This has meant that some users that are 'active' with ILL article requests have been deleted in the batch deletions as they are expired. This has resulted in stats being lost. 

Not sure if there is anything that can be developed to get these users to flag for ILL article requests as they do currently flag for ILL book requests!


Thanks,

Becca
Comment 6 Pedro Amorim 2024-03-28 13:12:09 UTC
Created attachment 164052 [details] [review]
Bug 34597: Add 'ill_request' to patron category admin page
Comment 7 Pedro Amorim 2024-03-28 13:12:11 UTC
Created attachment 164053 [details] [review]
Bug 34597: Add 'ill_request' to system preference options
Comment 8 Pedro Amorim 2024-03-28 13:12:14 UTC
Created attachment 164054 [details] [review]
Bug 34597: Add tests

prove t/db_dependent/Koha/Illrequest.t
prove t/db_dependent/Koha/Patron/Categories.t
Comment 9 Pedro Amorim 2024-03-28 13:12:17 UTC
Created attachment 164055 [details] [review]
Bug 34597: Implementation

New can_patron_place_ill_in_opac method to include all rules
that need checking to determine if a patron is allowed
to place an ILL request on the OPAC or not.
Added effective_BlockExpiredPatronOpacActions_contains rule to
this new method.

Test plan, k-t-d,:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) Edit a patron category, visit:
<staff_url>/cgi-bin/koha/admin/categories.pl
3) Set 'Placing an ILL request' for the "Block expired patrons" input config
4) Add a new patron of one of the above category, make sure this patron is expired (set an expirydate to the past).
5) Login as that user and visit ILL page in OPAC:
/cgi-bin/koha/opac-illrequests.pl
6) Confirm there is no "Create a new request" button
7) Access the create a new request page url directly:
<opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=FreeForm
8) Confirm you get a 403 page
9) Set the 'Block expired actions' to "Follow system preference BlockExpiredPatronOpacActions"
10) Test different values of the BlockExpiredPatronOpacActions system preference and confirm the behaviour matches what's configured
Comment 10 Pedro Amorim 2024-03-28 13:21:19 UTC
(In reply to R Bradshaw from comment #5)
> Good morning, all,
> 
> This has become a bit of a problem in the NHS consortium for East of England
> (23 libraries in total). The main issue for us seems to be that on the ILL
> module on the staff interface an expired user does not flag as expired when
> an ILL article request is put through. This has meant that some users that
> are 'active' with ILL article requests have been deleted in the batch
> deletions as they are expired. This has resulted in stats being lost. 

Hi Becca, thank you so much for your input.
I've added bug 36454 which I believe better addresses what you're referring to. Please correct me if I'm wrong.

> Not sure if there is anything that can be developed to get these users to
> flag for ILL article requests as they do currently flag for ILL book
> requests!

I'm not sure what you mean by "as they do currently flag for ILL book requests".
I wasn't aware this was the case, can you provide more info? What ILL backend is this, what page does this show.
Thank you.
Comment 11 R Bradshaw 2024-03-28 14:21:19 UTC
Thanks Pedro. 

Yes, it allows me to create ILL book requests for an expired user. However, at the point of checkout (i.e. after the item record has been created) it presents an error message saying there is a problem with the users account. 
It is extremely subtle as a message  though – just a line of grey test amongst other lines of grey text.
Thanks,
Becca
Comment 12 Pedro Amorim 2024-03-28 14:26:46 UTC
(In reply to R Bradshaw from comment #11)
> Thanks Pedro. 
> 
> Yes, it allows me to create ILL book requests for an expired user. However,
> at the point of checkout (i.e. after the item record has been created) it
> presents an error message saying there is a problem with the users account. 
> It is extremely subtle as a message  though – just a line of grey test
> amongst other lines of grey text.
> Thanks,
> Becca

Got it, thanks for clarifying!
If/when you have the chance, please take a quick look at bug 36454 and confirm that we're on the same page regarding this or correct/add anything. Much appreciated!
Comment 13 Pedro Amorim 2024-04-23 16:18:46 UTC
Created attachment 165415 [details] [review]
Bug 34597: Add 'ill_request' to patron category admin page
Comment 14 Pedro Amorim 2024-04-23 16:18:51 UTC
Created attachment 165416 [details] [review]
Bug 34597: Add 'ill_request' to system preference options
Comment 15 Pedro Amorim 2024-04-23 16:18:53 UTC
Created attachment 165417 [details] [review]
Bug 34597: Add tests

prove t/db_dependent/Koha/Illrequest.t
prove t/db_dependent/Koha/Patron/Categories.t
Comment 16 Pedro Amorim 2024-04-23 16:18:56 UTC
Created attachment 165418 [details] [review]
Bug 34597: Implementation

New can_patron_place_ill_in_opac method to include all rules
that need checking to determine if a patron is allowed
to place an ILL request on the OPAC or not.
Added effective_BlockExpiredPatronOpacActions_contains rule to
this new method.

Test plan, k-t-d,:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) Edit a patron category, visit:
<staff_url>/cgi-bin/koha/admin/categories.pl
3) Set 'Placing an ILL request' for the "Block expired patrons" input config
4) Add a new patron of one of the above category, make sure this patron is expired (set an expirydate to the past).
5) Login as that user and visit ILL page in OPAC:
/cgi-bin/koha/opac-illrequests.pl
6) Confirm there is no "Create a new request" button
7) Access the create a new request page url directly:
<opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=FreeForm
8) Confirm you get a 403 page
9) Set the 'Block expired actions' to "Follow system preference BlockExpiredPatronOpacActions"
10) Test different values of the BlockExpiredPatronOpacActions system preference and confirm the behaviour matches what's configured
Comment 17 HKS3 Tadeusz Sośnierz 2024-05-10 13:03:47 UTC
(In reply to Pedro Amorim from comment #16)
> 3) Set 'Placing an ILL request' for the "Block expired patrons" input config

This fails for me:

[WARN] DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Incorrect integer value: 'ill_request' for column `koha_kohadev`.`categories`.`BlockExpiredPatronOpacActions` at row 1 at /kohadevbox/koha/Koha/Object.pm line 172

It sems like the patchset is missing a DB migration.
Comment 18 HKS3 Tadeusz Sośnierz 2024-05-10 13:07:35 UTC
(In reply to HKS3 Tadeusz Sośnierz from comment #17)
> (In reply to Pedro Amorim from comment #16)
> > 3) Set 'Placing an ILL request' for the "Block expired patrons" input config
> 
> This fails for me:
> 
> [WARN] DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception:
> DBD::mysql::st execute failed: Incorrect integer value: 'ill_request' for
> column `koha_kohadev`.`categories`.`BlockExpiredPatronOpacActions` at row 1
> at /kohadevbox/koha/Koha/Object.pm line 172
> 
> It sems like the patchset is missing a DB migration.

Nevermind; `updatedatabase` fixes the issue. It's mentioned in the dependency bug, just not in this one.
Comment 19 HKS3 Tadeusz Sośnierz 2024-05-10 13:16:18 UTC
Needs to be updated for a post-#35581 world (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35581). Since ac157b7a75d84a07002e7c9cecceb549b612cf98 Koha::Illrequest is called Koha::ILL::Request which breaks the changes to /opac/opa-illrequests.pl. It also breaks the entire FreeForm backend, which impacts the testing procedure.
Comment 20 Katrin Fischer 2024-05-10 13:17:56 UTC
(In reply to HKS3 Tadeusz Sośnierz from comment #19)
> Needs to be updated for a post-#35581 world
> (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35581). Since
> ac157b7a75d84a07002e7c9cecceb549b612cf98 Koha::Illrequest is called
> Koha::ILL::Request which breaks the changes to /opac/opa-illrequests.pl. It
> also breaks the entire FreeForm backend, which impacts the testing procedure.

Hi Tadeusz, in this case please switch to "Failed QA". Everyone testing can use this status and it gets the attention of the devs. Letting you do it (for the stats on the dashboard).
Comment 21 Pedro Amorim 2024-05-10 13:35:04 UTC Comment hidden (obsolete)
Comment 22 Pedro Amorim 2024-05-10 13:37:14 UTC
Created attachment 166564 [details] [review]
Bug 34597: Implementation

New can_patron_place_ill_in_opac method to include all rules
that need checking to determine if a patron is allowed
to place an ILL request on the OPAC or not.
Added effective_BlockExpiredPatronOpacActions_contains rule to
this new method.

Test plan, k-t-d,:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
1.5) Checkout FreeForm's reorganize_ILL branch:
  cd /kohadevbox/koha/Koha/Illbackends/FreeForm
  git checkout reorganize_ILL
  koha-plack --restart kohadev
2) Edit a patron category, visit:
<staff_url>/cgi-bin/koha/admin/categories.pl
3) Set 'Placing an ILL request' for the "Block expired patrons" input config
4) Add a new patron of one of the above category, make sure this patron is expired (set an expirydate to the past).
5) Login as that user and visit ILL page in OPAC:
/cgi-bin/koha/opac-illrequests.pl
6) Confirm there is no "Create a new request" button
7) Access the create a new request page url directly:
<opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=FreeForm
8) Confirm you get a 403 page
9) Set the 'Block expired actions' to "Follow system preference BlockExpiredPatronOpacActions"
10) Test different values of the BlockExpiredPatronOpacActions system preference and confirm the behaviour matches what's configured
Comment 23 Pedro Amorim 2024-05-10 13:39:07 UTC
(In reply to HKS3 Tadeusz Sośnierz from comment #19)
> Needs to be updated for a post-#35581 world
> (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35581). Since
> ac157b7a75d84a07002e7c9cecceb549b612cf98 Koha::Illrequest is called
> Koha::ILL::Request which breaks the changes to /opac/opa-illrequests.pl. It
> also breaks the entire FreeForm backend, which impacts the testing procedure.

Thank you for this. I've squashed the Illrequest->ILL::Request update to the last patch and updated the test plan (notice step 1.5 to checkout FreeForm's branch).

Additional info, unrelated to the above: Please note, from the dependency bug, that you should run 'yarn css:build' to see the UI element correctly (I forgot to mention this here).
Comment 24 David Nind 2024-05-14 07:21:19 UTC
Created attachment 166668 [details] [review]
Bug 34597: Add 'ill_request' to patron category admin page

Signed-off-by: David Nind <david@davidnind.com>
Comment 25 David Nind 2024-05-14 07:21:22 UTC
Created attachment 166669 [details] [review]
Bug 34597: Add 'ill_request' to system preference options

Signed-off-by: David Nind <david@davidnind.com>
Comment 26 David Nind 2024-05-14 07:21:25 UTC
Created attachment 166670 [details] [review]
Bug 34597: Add tests

prove t/db_dependent/Koha/Illrequest.t
prove t/db_dependent/Koha/Patron/Categories.t

Signed-off-by: David Nind <david@davidnind.com>
Comment 27 David Nind 2024-05-14 07:21:28 UTC
Created attachment 166671 [details] [review]
Bug 34597: Implementation

New can_patron_place_ill_in_opac method to include all rules
that need checking to determine if a patron is allowed
to place an ILL request on the OPAC or not.
Added effective_BlockExpiredPatronOpacActions_contains rule to
this new method.

Test plan, k-t-d,:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
1.5) Checkout FreeForm's reorganize_ILL branch:
  cd /kohadevbox/koha/Koha/Illbackends/FreeForm
  git checkout reorganize_ILL
  koha-plack --restart kohadev
2) Edit a patron category, visit:
<staff_url>/cgi-bin/koha/admin/categories.pl
3) Set 'Placing an ILL request' for the "Block expired patrons" input config
4) Add a new patron of one of the above category, make sure this patron is expired (set an expirydate to the past).
5) Login as that user and visit ILL page in OPAC:
/cgi-bin/koha/opac-illrequests.pl
6) Confirm there is no "Create a new request" button
7) Access the create a new request page url directly:
<opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=FreeForm
8) Confirm you get a 403 page
9) Set the 'Block expired actions' to "Follow system preference BlockExpiredPatronOpacActions"
10) Test different values of the BlockExpiredPatronOpacActions system preference and confirm the behaviour matches what's configured

Signed-off-by: David Nind <david@davidnind.com>
Comment 28 David Nind 2024-05-14 07:21:31 UTC
Created attachment 166672 [details] [review]
Bug 34597: (follow-up) Update system preference description and order of options

Update the note for the BlockExpiredPatronOpacActions system preference to
make it clearer, and to follow the standard convention for notes.

Order of options for 'Block expired patron OPAC actions' when editing the
patron category changed to alpabetical order, to match the system preference
order.

Signed-off-by: David Nind <david@davidnind.com>
Comment 29 David Nind 2024-05-14 07:23:37 UTC
Testing notes (using KTD) (after the patches are applied):
1. Because of the dependency, after applying the patch: updatedatabase, dbic, yarn css:build, flush_memcached, restart_all
2. Tests should pass:
   - prove t/db_dependent/Koha/ILL/Request.t
   - prove t/db_dependent/Koha/Patron/Categories.t
3. For the PT patron category, set:
   . Block expired patron OPAC actions: make sure 'Placing an ILL request' IS NOT selected:
   . Can place ILL in OPAC: Yes
   ==> In the OPAC, logged in as a patron in the PT category, for Interlibrary loan requests: '+Create a new request' button is visible, and you can place a request without any errors
4. For the PT patron category, set:
   . Block expired patron OPAC actions: make sure 'Placing an ILL request' IS selected:
   . Can place ILL in OPAC: Yes
   ==> In the OPAC, logged in as a patron in the PT category, for Interlibrary loan requests: '+Create a new request' button IS NOT visible, so you can't place a request
5. Try various other combinations, and you should get the expected results.
6. You should also get the same results for steps 3 and 4 if 'Block expired patron OPAC actions' is set to 'Block actions in BlockExpiredPatronOpacActions', and the values are set using BlockExpiredPatronOpacActions.

I added a follow-up:
1. System preference description: make the note a little clearer and follow the convention for notes, that is starting with NOTES: (in bold).
2. Put the order of the options when editing the patron category in alphabetical order, matching how it is displayed for the system preference.
Comment 30 Pedro Amorim 2024-05-14 10:41:46 UTC
(In reply to David Nind from comment #29)
> I added a follow-up:
> 1. System preference description: make the note a little clearer and follow
> the convention for notes, that is starting with NOTES: (in bold).
> 2. Put the order of the options when editing the patron category in
> alphabetical order, matching how it is displayed for the system preference.

Thanks David+++
Comment 31 Martin Renvoize 2024-06-05 16:20:36 UTC
Created attachment 167481 [details] [review]
Bug 34597: Add 'ill_request' to patron category admin page

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 32 Martin Renvoize 2024-06-05 16:20:40 UTC
Created attachment 167482 [details] [review]
Bug 34597: Add 'ill_request' to system preference options

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 33 Martin Renvoize 2024-06-05 16:20:43 UTC
Created attachment 167483 [details] [review]
Bug 34597: Add tests

prove t/db_dependent/Koha/Illrequest.t
prove t/db_dependent/Koha/Patron/Categories.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 34 Martin Renvoize 2024-06-05 16:20:46 UTC
Created attachment 167484 [details] [review]
Bug 34597: Implementation

New can_patron_place_ill_in_opac method to include all rules
that need checking to determine if a patron is allowed
to place an ILL request on the OPAC or not.
Added effective_BlockExpiredPatronOpacActions_contains rule to
this new method.

Test plan, k-t-d,:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
1.5) Checkout FreeForm's reorganize_ILL branch:
  cd /kohadevbox/koha/Koha/Illbackends/FreeForm
  git checkout reorganize_ILL
  koha-plack --restart kohadev
2) Edit a patron category, visit:
<staff_url>/cgi-bin/koha/admin/categories.pl
3) Set 'Placing an ILL request' for the "Block expired patrons" input config
4) Add a new patron of one of the above category, make sure this patron is expired (set an expirydate to the past).
5) Login as that user and visit ILL page in OPAC:
/cgi-bin/koha/opac-illrequests.pl
6) Confirm there is no "Create a new request" button
7) Access the create a new request page url directly:
<opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=FreeForm
8) Confirm you get a 403 page
9) Set the 'Block expired actions' to "Follow system preference BlockExpiredPatronOpacActions"
10) Test different values of the BlockExpiredPatronOpacActions system preference and confirm the behaviour matches what's configured

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 35 Martin Renvoize 2024-06-05 16:20:49 UTC
Created attachment 167485 [details] [review]
Bug 34597: (follow-up) Update system preference description and order of options

Update the note for the BlockExpiredPatronOpacActions system preference to
make it clearer, and to follow the standard convention for notes.

Order of options for 'Block expired patron OPAC actions' when editing the
patron category changed to alpabetical order, to match the system preference
order.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 36 Martin Renvoize 2024-06-05 16:20:52 UTC
Created attachment 167486 [details] [review]
Bug 34597: (QA follow-up) Add missing database revision

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 37 Martin Renvoize 2024-06-05 16:21:21 UTC
Great work, no regressions found.

Passing QA
Comment 38 Martin Renvoize 2024-06-11 09:44:47 UTC
Thanks for all the hard work!

Pushed to main for the next 24.11.00 release as RM Assistant