Bugzilla – Attachment 110604 Details for
Bug 26515
Add Koha::Acquisition::Order->cancel
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 26515: Add Koha::Acquisition::Order->cancel
Bug-26515-Add-KohaAcquisitionOrder-cancel.patch (text/plain), 3.07 KB, created by
Tomás Cohen Arazi (tcohen)
on 2020-09-23 14:43:10 UTC
(
hide
)
Description:
Bug 26515: Add Koha::Acquisition::Order->cancel
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2020-09-23 14:43:10 UTC
Size:
3.07 KB
patch
obsolete
>From 6200374ba5007b2d1a0a9cc62d292a7b547b0414 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Wed, 23 Sep 2020 11:36:21 -0300 >Subject: [PATCH] Bug 26515: Add Koha::Acquisition::Order->cancel > >This patch introduces an OO replacement for DelOrder. It does the same >thing, but raises exceptions instead of returning error values. It is >designed so the caller catches the exceptions and (1) presents the >situation to the end user or (2) does the right thing depending on the >exception. > >To test: >1. Apply this patches >2. Run: > $ kshell > k$ prove t/db_dependent/Koha/Acquisition/Order.t >=> SUCCESS: Tests pass! >3. Read the tests carefully to understand how they cover all use cases. >4- Sign off :-D > >Sponsored-by: ByWater Solutions > >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > Koha/Acquisition/Order.pm | 57 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 57 insertions(+) > >diff --git a/Koha/Acquisition/Order.pm b/Koha/Acquisition/Order.pm >index 2747a78fc5c..6a4dd2ea652 100644 >--- a/Koha/Acquisition/Order.pm >+++ b/Koha/Acquisition/Order.pm >@@ -18,6 +18,9 @@ package Koha::Acquisition::Order; > use Modern::Perl; > > use Carp qw( croak ); >+use Try::Tiny; >+ >+use C4::Biblio qw(DelBiblio); > > use Koha::Acquisition::Baskets; > use Koha::Acquisition::Funds; >@@ -25,6 +28,7 @@ use Koha::Acquisition::Invoices; > use Koha::Acquisition::Order::Claims; > use Koha::Database; > use Koha::DateUtils qw( dt_from_string output_pref ); >+use Koha::Exceptions::Object; > use Koha::Biblios; > use Koha::Holds; > use Koha::Items; >@@ -97,6 +101,59 @@ sub store { > return $self; > } > >+=head3 cancel >+ >+ $order->cancel( >+ { [ reason => $reason, >+ delete_biblio => $delete_biblio ] >+ } >+ ); >+ >+=cut >+ >+sub cancel { >+ my ($self, $params) = @_; >+ >+ my $delete_biblio = $params->{delete_biblio}; >+ my $reason = $params->{reason}; >+ >+ try { >+ $self->_result->result_source->schema->txn_do( >+ sub { >+ # Delete the related items >+ $self->items->safe_delete; >+ >+ if ( $delete_biblio ) { >+ my $biblio = $self->biblio; >+ if ( $biblio and $biblio->items->count == 0 ) { >+ my $delcheck = DelBiblio( $biblio->id ); >+ if ( $delcheck ) { >+ Koha::Exceptions::Object::CannotBeDeleted->throw( >+ object => $biblio, >+ reason => $delcheck >+ ); >+ } >+ } >+ } >+ >+ # Update order status >+ $self->set( >+ { >+ cancellationreason => $reason, >+ datecancellationprinted => \'NOW()', >+ orderstatus => 'cancelled', >+ } >+ )->store; >+ } >+ ); >+ } >+ catch { >+ $_->rethrow; >+ }; >+ >+ return $self; >+} >+ > =head3 add_item > > $order->add_item( $itemnumber ); >-- >2.28.0
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 26515
:
110603
|
110604
|
110641
|
110642
|
110751
|
110752
|
110939
|
110940
|
110970
|
110971
|
110992
|
111031
|
111170
|
111172
|
111173
|
111372
|
111430
|
111724