Bugzilla – Attachment 179288 Details for
Bug 38615
Cancelling a waiting hold via SIP should include an option to move it to holds with cancellation requests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 38615: Add ability to set hold cancellation request via SIP
Bug-38615-Add-ability-to-set-hold-cancellation-req.patch (text/plain), 4.61 KB, created by
Brendan Lawlor
on 2025-03-13 20:19:45 UTC
(
hide
)
Description:
Bug 38615: Add ability to set hold cancellation request via SIP
Filename:
MIME Type:
Creator:
Brendan Lawlor
Created:
2025-03-13 20:19:45 UTC
Size:
4.61 KB
patch
obsolete
>From 3705cf552efab7ef9cfed5055ff41981d3ce10c9 Mon Sep 17 00:00:00 2001 >From: Lucas Gass <lucas@bywatersolutions.com> >Date: Tue, 3 Dec 2024 22:52:47 +0000 >Subject: [PATCH] Bug 38615: Add ability to set hold cancellation request via > SIP > >To test: >1. APPLY PATCH, updatedatabase, restart_all >2. Search for the new system preference HoldCancellationRequestSIP, it should be set to 'Don't'. Leave it as is. >3. Make some holds, either in the staff client of via SIP. > -/kohadevbox/koha/misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m hold --patron 23529000035676 --item 39999000001310 --hold-mode + > >4. Mark the hold as waiting. >5. Cancel it via SIP: > -/kohadevbox/koha/misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m hold --patron 23529000035676 --item 39999000001310 --hold-mode - > >6. The hold is cancelled like normal, the screen msg should be "Hold Cancelled." >7. Change HoldCancellationRequestSIP to 'Do'. >8. Do steps 3-5 again. >9. Now the screen message is 'Hold Cancellation Requested.' >10. Now check Holds awaiting pickup. In the "Holds with cancellation requests" tab you should now see the hold from step 8. > >Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> >--- > C4/SIP/ILS.pm | 7 +++++-- > C4/SIP/ILS/Transaction/Hold.pm | 7 ++++++- > installer/data/mysql/mandatory/sysprefs.sql | 1 + > .../prog/en/modules/admin/preferences/circulation.pref | 6 ++++++ > 4 files changed, 18 insertions(+), 3 deletions(-) > >diff --git a/C4/SIP/ILS.pm b/C4/SIP/ILS.pm >index 751cd5906e..8fdfc47340 100644 >--- a/C4/SIP/ILS.pm >+++ b/C4/SIP/ILS.pm >@@ -471,8 +471,11 @@ sub cancel_hold { > last; # ?? should we keep going, in case there are multiples > } > } >- >- $trans->screen_msg("Hold Cancelled."); >+ if ( C4::Context->preference('HoldCancellationRequestSIP') ) { >+ $trans->screen_msg("Hold Cancellation Requested."); >+ } else { >+ $trans->screen_msg("Hold Cancelled."); >+ } > > return $trans; > } >diff --git a/C4/SIP/ILS/Transaction/Hold.pm b/C4/SIP/ILS/Transaction/Hold.pm >index 20a4d0f77a..f2aeaff8db 100644 >--- a/C4/SIP/ILS/Transaction/Hold.pm >+++ b/C4/SIP/ILS/Transaction/Hold.pm >@@ -94,8 +94,13 @@ sub drop_hold { > my $holds = $item->holds->search( { borrowernumber => $patron->borrowernumber } ); > > return $self unless $holds->count; >+ my $hold = $holds->next; > >- $holds->next->cancel; >+ if ( C4::Context->preference('HoldCancellationRequestSIP') ) { >+ $hold->add_cancellation_request; >+ } else { >+ $hold->cancel; >+ } > > $self->ok(1); > return $self; >diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql >index c4bb3ca9a7..f9e2c643a1 100644 >--- a/installer/data/mysql/mandatory/sysprefs.sql >+++ b/installer/data/mysql/mandatory/sysprefs.sql >@@ -300,6 +300,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('HidePatronName','0','','If this is switched on, patron\'s cardnumber will be shown instead of their name on the holds and catalog screens','YesNo'), > ('HidePersonalPatronDetailOnCirculation', 0, '', 'Hide patrons phone number, email address, street address and city in the circulation page','YesNo'), > ('hide_marc','0',NULL,'If ON, disables display of MARC fields, subfield codes & indicators (still shows data)','YesNo'), >+('HoldCancellationRequestSIP','0','','Option to set holds cancelled via SIP as cancelation requests','YesNo'), > ('HoldFeeMode','not_always','any_time_is_placed|not_always|any_time_is_collected','Set the hold fee mode','Choice'), > ('HoldRatioDefault','3','','Default value for the hold ratio report','Integer'), > ('HoldsAutoFill','0',NULL,'If on, librarian will not be asked if hold should be filled, it will be filled automatically','YesNo'), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >index e380c2fa0e..291c6ccec6 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >@@ -1100,6 +1100,12 @@ Circulation: > 1: "Do" > 0: "Don't" > - place a hold when ordering from a suggestion. >+ - >+ - pref: HoldCancellationRequestSIP >+ choices: >+ 1: "Do" >+ 0: "Don't" >+ - set holds cancelled via SIP as cancellation requests. > Patron restrictions: > - > - pref: PatronRestrictionTypes >-- >2.39.5
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 38615
:
175097
|
178046
|
178047
|
178055
|
178056
|
178098
|
178099
|
179288
|
179289
|
179309
|
179310
|
179311