Bug 25193 - Add syspref to control location for use of AllowRenewalIfOtherItemsAvailable
Summary: Add syspref to control location for use of AllowRenewalIfOtherItemsAvailable
Status: Patch doesn't apply
Alias: None
Product: Koha
Classification: Unclassified
Component: Circulation (show other bugs)
Version: unspecified
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Aleisha Amohia
QA Contact: Marcel de Rooy
URL:
Keywords: Sandbox
Depends on:
Blocks:
 
Reported: 2020-04-19 22:30 UTC by Aleisha Amohia
Modified: 2024-03-23 07:39 UTC (History)
7 users (show)

See Also:
Change sponsored?: Sponsored
Patch complexity: Medium patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
This patch adds a new system preference AllowRenewalIfOtherItemsAvailableLocation which works in conjunction with the AllowRenewalIfOtherItemsAvailable system preference. It has two options - allow renewal if other items are available to fill holds at any library, or only at the hold's pickup library. This way, if items cannot be shared between libraries, the AllowRenewalIfOtherItemsAvailable system preference will consider this when deciding if renewal is allowed.
Version(s) released in:


Attachments
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.37 KB, patch)
2020-04-20 22:57 UTC, Aleisha Amohia
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.41 KB, patch)
2020-04-21 03:22 UTC, David Nind
Details | Diff | Splinter Review
Bug 25224: Show large print format in search results XSLT (2.98 KB, patch)
2020-04-22 22:33 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.49 KB, patch)
2020-07-24 09:55 UTC, Marcel de Rooy
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.44 KB, patch)
2020-09-14 23:43 UTC, Aleisha Amohia
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.48 KB, patch)
2020-09-19 00:30 UTC, David Nind
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (10.54 KB, patch)
2020-09-20 20:10 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref (11.96 KB, patch)
2024-01-18 00:08 UTC, Aleisha Amohia
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Aleisha Amohia 2020-04-19 22:30:16 UTC
Add a CanRenewFromOtherBranches system preference to manage borrowers renewing items at other branches.
Comment 1 Aleisha Amohia 2020-04-19 23:42:52 UTC
Ignore the description, I had thought about this wrong - would like to edit the AllowRenewalIfOtherItemsAvailable system preference so the options are:
- Don't allow
- Allow if items available at reserve patron's branch
- Allow always

The second option would mean that Patron A can only renew their item if there are other items available at Patron B's (patron who has placed a reserve on this biblio) branch.

The following scenarios should explain this a bit better:

NZ is one branch, AU is another branch.
There is a Biblio A with four items - Item NZa, Item NZb, Item AUa and Item AUb.
There are two patrons - Patron NZa and Patron NZb.

Situation 1:
Patron NZa has Item NZa checked out. Item NZb is lost/damaged/checked out/not available. Items AUa and AUb are both available.
Patron NZb has reserved Biblio A.
AllowRenewalIfOtherItemsAvailable is enabled.
Patron NZa should NOT be able to renew Item NZa because other NZ items are not available, even though AU items are available.

Situation 2:
Patron NZa has Item NZa checked out. Item NZb is lost/damaged/checked out/not available. Items AUa and AUb are both available.
Patron NZb has reserved Biblio A.
AllowRenewalIfOtherItemsAvailable is NOT enabled.
Patron NZa should NOT be able to renew Item NZa because other NZ items are not available, even though AU items are available.

Situation 3:
Patron NZa has Item NZa checked out. Item NZb is available. Items AUa and AUb are both available.
Patron NZb has reserved Biblio A.
AllowRenewalIfOtherItemsAvailable is enabled.
Patron NZa SHOULD be able to renew Item NZa.

Situation 4:
Patron NZa has Item NZa checked out. Item NZb is available. Items AUa and AUb are both available.
Patron NZb has reserved Biblio A.
AllowRenewalIfOtherItemsAvailable is NOT enabled.
Patron NZa should NOT be able to renew Item NZa because AllowRenewalIfOtherItemsAvailable is not enabled, even though NZb is available.
Comment 2 Aleisha Amohia 2020-04-20 22:57:18 UTC
Please ignore all earlier comments, they are a mess! Patch and test plan coming that will explain this feature better
Comment 3 Aleisha Amohia 2020-04-20 22:57:51 UTC
Created attachment 103318 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
branch".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any branch".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup branch". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand
Comment 4 Aleisha Amohia 2020-04-20 22:59:30 UTC
Also: confirm tests pass
t/db_dependent/Circulation.t
Comment 5 David Nind 2020-04-21 03:22:49 UTC
Created attachment 103322 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
branch".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any branch".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup branch". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>
Comment 6 Katrin Fischer 2020-04-22 22:33:52 UTC Comment hidden (obsolete)
Comment 7 Marcel de Rooy 2020-07-24 09:53:27 UTC
Aleisha,

Have some concern about the interaction of both sysprefs and if the interface now helps us to understand it well..

AllowRenewalIfOtherItemsAvailable / AllowRenewalIfOtherItemsAvailableLocation 	
Dont allow / Allow
a patron to renew an item with unfilled holds if other available items 
at any branch / at the hold's pickup branch
can fill that hold. 

If the pref is set to Allow, we may examine the other pref. But if we say Do not allow we now suggest that it is conditional depending on the second pref. But that is not the case:
    if ( $resfound
        && C4::Context->preference('AllowRenewalIfOtherItemsAvailable') )
    {

I wonder if we confuse people? How could we improve that?

Another question: Would holding branch be a better wording?

Changing status for feedback.
Comment 8 Marcel de Rooy 2020-07-24 09:55:39 UTC
Created attachment 107293 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
branch".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any branch".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup branch". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>

[EDIT]
Changed number of tests to 50.
Comment 9 Katrin Fischer 2020-07-24 12:28:32 UTC
For wording, please avoid branch in favor of library (see terminology list). We are trying to be more consistent, which will help people get less confused, including translators who struggle with the synonyms.
Comment 10 Aleisha Amohia 2020-09-14 23:43:13 UTC
Created attachment 110083 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
library".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any library".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup library". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>
Comment 11 David Nind 2020-09-19 00:30:09 UTC
Created attachment 110415 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
library".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any library".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup library". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>
Comment 12 Katrin Fischer 2020-09-20 20:10:14 UTC
Created attachment 110437 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
library".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any library".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup library". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 13 Jonathan Druart 2020-09-30 10:27:16 UTC
  my $res = Koha::Holds->search({ biblionumber => $item->biblionumber, borrowernumber => $patron->borrowernumber })->next;
  next unless $item->holdingbranch eq $res->branchcode;

What if a given patron has several holds on the same record? Should not we loop on the different holds instead of testing only the first one?
Comment 14 Aleisha Amohia 2020-09-30 19:56:05 UTC
(In reply to Jonathan Druart from comment #13)
>   my $res = Koha::Holds->search({ biblionumber => $item->biblionumber,
> borrowernumber => $patron->borrowernumber })->next;
>   next unless $item->holdingbranch eq $res->branchcode;
> 
> What if a given patron has several holds on the same record? Should not we
> loop on the different holds instead of testing only the first one?

I guess we could put another condition in the search params like: 

my $res = Koha::Holds->search({ biblionumber => $item->biblionumber, borrowernumber => $patron->borrowernumber, branchcode => $item->holdingbranch }, { order_by => { -asc => 'priority' } })->next;

What do you think?
Comment 15 Jonathan Druart 2020-10-05 14:16:21 UTC
(In reply to Aleisha Amohia from comment #14)
> (In reply to Jonathan Druart from comment #13)
> >   my $res = Koha::Holds->search({ biblionumber => $item->biblionumber,
> > borrowernumber => $patron->borrowernumber })->next;
> >   next unless $item->holdingbranch eq $res->branchcode;
> > 
> > What if a given patron has several holds on the same record? Should not we
> > loop on the different holds instead of testing only the first one?
> 
> I guess we could put another condition in the search params like: 
> 
> my $res = Koha::Holds->search({ biblionumber => $item->biblionumber,
> borrowernumber => $patron->borrowernumber, branchcode =>
> $item->holdingbranch }, { order_by => { -asc => 'priority' } })->next;
> 
> What do you think?

My concern was about the other holds a patron could have on the same bibliographic record.
I don't know if it makes sense but, reading the code:

2826                     if ( C4::Context->preference('AllowRenewalIfOtherItemsAvailableLocation') eq 'holdbranch' ){
2827                         my $res = Koha::Holds->search({ biblionumber => $item->biblionumber, borrowernumber => $patron->borrowernumber })->next;
2828                         next unless $item->holdingbranch eq $res->branchcode;
2829                     }

We skip the patron if they have their first hold on this biblio in the holding library of the item.
Should not we do this test on all the holds this patron has on the bibliographic record?

Katrin, what do you think?
Comment 16 Jonathan Druart 2020-10-12 08:51:13 UTC
Waiting for an answer here, adjusting status.
Comment 17 Katrin Fischer 2020-10-20 02:41:43 UTC
(In reply to Jonathan Druart from comment #15)
> (In reply to Aleisha Amohia from comment #14)
> > (In reply to Jonathan Druart from comment #13)
> > >   my $res = Koha::Holds->search({ biblionumber => $item->biblionumber,
> > > borrowernumber => $patron->borrowernumber })->next;
> > >   next unless $item->holdingbranch eq $res->branchcode;
> > > 
> > > What if a given patron has several holds on the same record? Should not we
> > > loop on the different holds instead of testing only the first one?
> > 
> > I guess we could put another condition in the search params like: 
> > 
> > my $res = Koha::Holds->search({ biblionumber => $item->biblionumber,
> > borrowernumber => $patron->borrowernumber, branchcode =>
> > $item->holdingbranch }, { order_by => { -asc => 'priority' } })->next;
> > 
> > What do you think?
> 
> My concern was about the other holds a patron could have on the same
> bibliographic record.
> I don't know if it makes sense but, reading the code:
> 
> 2826                     if (
> C4::Context->preference('AllowRenewalIfOtherItemsAvailableLocation') eq
> 'holdbranch' ){
> 2827                         my $res = Koha::Holds->search({ biblionumber =>
> $item->biblionumber, borrowernumber => $patron->borrowernumber })->next;
> 2828                         next unless $item->holdingbranch eq
> $res->branchcode;
> 2829                     }
> 
> We skip the patron if they have their first hold on this biblio in the
> holding library of the item.
> Should not we do this test on all the holds this patron has on the
> bibliographic record?
> 
> Katrin, what do you think?

Ugh, sorry, I just came across this.

I understand that the goal is that a renewal should be prevented, if there is a another pending hold where the pickup library matches the holding branch (checkout library) of the item to be renewed. Is that correct?

I think it might be unlikely for a patron to place multiple holds on a record for pick-up at different libraries, but it would be possible. So looping through all existing holds seems logical to me. 

But I am feeling unsure here about why we are interested in the holds of a specific patron... are we not interested in looking at the holds for this specific record in general?
Comment 19 Jonathan Druart 2022-08-11 09:51:37 UTC
(In reply to Elizabeth John from comment #18)

Spam
Comment 20 Aleisha Amohia 2024-01-18 00:08:05 UTC
Created attachment 161126 [details] [review]
Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

This syspref works in conjunction with AllowRenewalIfOtherItemsAvailable
syspref. It has two options - allow renewal if other items are available
to fill holds at any branch, or only at the hold's pickup branch.

To test:
1) Apply patch, update database, restart services
2) Go to Administration -> system preferences. Search for
AllowRenewalIfOtherItemsAvailable. Notice the two sysprefs exist in the
same row. By default they should be set to "Don't allow" and "at any
library".
3) Set up a biblio with two items. Have both items held at Branch A.
4) Check out Item A to Borrower A.
5) Place a biblio-level reserve for Borrower B with pickup branch at
Branch A.
6) View Borrower A's checkouts. Confirm you cannot renew Item A ('On
    hold' message).
7) Edit Item B, set the current location to Branch B. The items should
now have different locations.
8) Enable the AllowRenewalIfOtherItemsAvailable syspref. Leave the AllowRenewalIfOtherItemsAvailableLocation syspref set to "at any library".
9) View Borrower A's checkouts. Confirm you CAN renew Item A (because
    Item B can fill Borrower B's reserve).
10) Set the AllowRenewalIfOtherItemsAvailableLocation syspref to "at the
hold's pickup library". Keep AllowRenewalIfOtherItemsAvailable syspref
enabled.
11) View Borrower A's checkouts. Confirm you CANNOT renew Item A
(because Item B cannot fill Borrower B's reserve due to being at a
 different branch).
12) Edit Item B, set the current location to Branch A. The items should
have the same location now.
13) View Borrower A's checkouts. Confirm you CAN renew Item A.

Sponsored-by: Chartered Accountants Australia & New Zealand

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 21 Aleisha Amohia 2024-01-18 00:09:07 UTC
(In reply to Katrin Fischer from comment #17)
> (In reply to Jonathan Druart from comment #15)
> I understand that the goal is that a renewal should be prevented, if there
> is a another pending hold where the pickup library matches the holding
> branch (checkout library) of the item to be renewed. Is that correct?
> 
> I think it might be unlikely for a patron to place multiple holds on a
> record for pick-up at different libraries, but it would be possible. So
> looping through all existing holds seems logical to me. 
> 
> But I am feeling unsure here about why we are interested in the holds of a
> specific patron... are we not interested in looking at the holds for this
> specific record in general?

Thank you both for your thoughts.

I ended up taking out the loop entirely because at that point we are already looping through the fillable holds on this biblio. Hopefully that will suffice.
Comment 22 David Nind 2024-03-23 07:39:37 UTC
The patch no longer applies 8-(....

git bz apply 25193

Bug 25193 - Add syspref to control location for use of AllowRenewalIfOtherItemsAvailable

161126 - Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref
Using index info to reconstruct a base tree...
M	C4/Circulation.pm
M	installer/data/mysql/mandatory/sysprefs.sql
M	koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
M	t/db_dependent/Circulation.t
Falling back to patching base and 3-way merge...
Auto-merging t/db_dependent/Circulation.t
CONFLICT (content): Merge conflict in t/db_dependent/Circulation.t
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
Auto-merging installer/data/mysql/mandatory/sysprefs.sql
Auto-merging C4/Circulation.pm
error: Failed to merge in the changes.
Patch failed at 0001 Bug 25193: Add AllowRenewalIfOtherItemsAvailableLocation syspref