Bugzilla – Attachment 136460 Details for
Bug 24239
Let the ILL module set ad hoc hard due dates
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24239: Let the ILL module set ad hoc hard due dates
Bug-24239-Let-the-ILL-module-set-ad-hoc-hard-due-d.patch (text/plain), 3.19 KB, created by
Tomás Cohen Arazi (tcohen)
on 2022-06-23 18:45:48 UTC
(
hide
)
Description:
Bug 24239: Let the ILL module set ad hoc hard due dates
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2022-06-23 18:45:48 UTC
Size:
3.19 KB
patch
obsolete
>From e9bab63e80412f3b9e2457ef0f76f6660c8d3d24 Mon Sep 17 00:00:00 2001 >From: Lari Taskula <lari.taskula@hypernova.fi> >Date: Fri, 13 Dec 2019 13:17:55 +0100 >Subject: [PATCH] Bug 24239: Let the ILL module set ad hoc hard due dates > >The Swedish Libris ILL backend lets librarians store a specific due date >when an ILL loan is received. > >This patch set adds a new date_due column to the illrequets table that can be >used by the different backends to store a due date. If an illrequest has the >date due set, it will be used when the item is checked out instead of the calculation >using the circulation conditions. > >To test: >- Apply the patch and make sure the atomic database update is run >- Use the FreeForm backend to add one ILL request. Take note of the > illrequest_id of the request you created. We refer to this as > "x" below. >- Connect a biblio (with biblionumber y), that has an item with a > barcode, to the ILL request directly in the database: > UPDATE illrequests SET biblio_id = y WHERE illrequest_id = x; >- Next we set the due date, this would normally be done by or from the backend. > UPDATE illrequests SET date_due = "2023-01-01" WHERE illrequest_id = x; >- Go to circulation and issue the barcode of the item to the > patron associated with the FreeForm ILL request. Verify that the > loan gets a due date of 2023-01-01. >- Ideally: return the item and issue it again through SIP2 and SCO, > and verify that the due date is still 2023-01-01. >- Verify that there are no regressions, so that regular calculation > of due dates still work. >- prove t/db_dependent/Circulation.t > >(Patch description, test plan and partial code credits to Magnus Enger) > >Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> > >(Patch description and test plan rewritten to reflect changes in development) > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > C4/Circulation.pm | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 73f2e5aa77..223013a1a9 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -1544,6 +1544,25 @@ sub AddIssue { > $datedue = CalcDateDue( $issuedate, $itype, $branchcode, $borrower ); > > } >+ >+ # Check if we need to use an exact due date set by the ILL module >+ if ( C4::Context->preference('ILLModule') ) { >+ # Check if there is an ILL connected with the biblio of the item we are issuing >+ my $ill_request = Koha::Illrequests->search({ >+ biblio_id => $item_object->biblionumber, >+ borrowernumber => $borrower->{'borrowernumber'}, >+ completed => undef, >+ date_due => { '!=', undef }, >+ })->next; >+ >+ if ( $ill_request and length( $ill_request->date_due ) > 0 ) { >+ my $ill_dt = dt_from_string( $ill_request->date_due ); >+ $ill_dt->set_hour(23); >+ $ill_dt->set_minute(59); >+ $datedue = $ill_dt; >+ } >+ } >+ > $datedue->truncate( to => 'minute' ); > > my $patron = Koha::Patrons->find( $borrower ); >-- >2.34.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24239
:
96246
|
106409
|
130056
|
130057
|
130414
|
130415
|
130416
|
133475
|
133476
|
133477
|
135244
|
135245
|
135246
|
135943
|
135944
|
135945
|
136458
|
136459
| 136460 |
136461
|
136462
|
136463