Bugzilla – Attachment 43014 Details for
Bug 14673
Renewals cause Sipserver to crash
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Revised patch
0001-Bug-14673-Work-around-change-to-AddIssue-return.patch (text/plain), 3.02 KB, created by
Colin Campbell
on 2015-10-01 14:22:56 UTC
(
hide
)
Description:
Revised patch
Filename:
MIME Type:
Creator:
Colin Campbell
Created:
2015-10-01 14:22:56 UTC
Size:
3.02 KB
patch
obsolete
>From 80fba5d505eb5ed6cf47a92418372718775bffe0 Mon Sep 17 00:00:00 2001 >From: Colin Campbell <colin.campbell@ptfs-europe.com> >Date: Tue, 11 Aug 2015 16:51:53 +0100 >Subject: [PATCH] Bug 14673 Work around change to AddIssue return > >Return from AddIssue used to be due date or undef. >Now it is less straightforward returning am issue object >if an issue row is created or undef. If the issue is a renewal >undef is returned. As that case was not handled properly it >caused the server site to crash the listener causing a >communications error on the client. >--- > C4/SIP/ILS/Transaction.pm | 20 ++++++++++++++++++++ > C4/SIP/ILS/Transaction/Checkout.pm | 8 +------- > C4/SIP/ILS/Transaction/Renew.pm | 6 +----- > 3 files changed, 22 insertions(+), 12 deletions(-) > >diff --git a/C4/SIP/ILS/Transaction.pm b/C4/SIP/ILS/Transaction.pm >index 4e74e93..c751125 100644 >--- a/C4/SIP/ILS/Transaction.pm >+++ b/C4/SIP/ILS/Transaction.pm >@@ -8,6 +8,8 @@ use Carp; > use strict; > use warnings; > use C4::Context; >+use C4::Circulation qw( GetItemIssue ); >+use Koha::DateUtils; > > my %fields = ( > ok => 0, >@@ -35,6 +37,24 @@ sub new { > return bless $self, $class; > } > >+sub duedatefromissue { >+ my ($self, $iss, $itemnum) = @_; >+ my $due_dt; >+ if (defined $iss ) { >+ $due_dt = dt_from_string( $iss->date_due() ); >+ } # renew from AddIssue ?? >+ else { >+ # need to reread the issue to get due date >+ $iss = GetItemIssue($itemnum); >+ if ($iss && $iss->{date_due} ) { >+ $due_dt = dt_from_string( $iss->{date_due} ); >+ } >+ } >+ return $due_dt; >+} >+ >+ >+ > sub DESTROY { > # be cool > } >diff --git a/C4/SIP/ILS/Transaction/Checkout.pm b/C4/SIP/ILS/Transaction/Checkout.pm >index 6a77aa3..0ac0bfc 100644 >--- a/C4/SIP/ILS/Transaction/Checkout.pm >+++ b/C4/SIP/ILS/Transaction/Checkout.pm >@@ -140,14 +140,8 @@ sub do_checkout { > # . "w/ \$borrower: " . Dumper($borrower) > . "w/ C4::Context->userenv: " . Dumper(C4::Context->userenv); > my $issue = AddIssue( $borrower, $barcode, $overridden_duedate, 0 ); >- my $due_dt = dt_from_string( $issue->date_due() ); >- if ($due_dt) { >- $self->{due} = $due_dt->clone(); >- } else { >- $self->{due} = undef; >- } >+ $self->{due} = $self->duedatefromissue($issue, $itemnumber); > >- #$self->{item}->due_date($due); > $self->ok(1); > return $self; > } >diff --git a/C4/SIP/ILS/Transaction/Renew.pm b/C4/SIP/ILS/Transaction/Renew.pm >index e0f905b..699f566 100644 >--- a/C4/SIP/ILS/Transaction/Renew.pm >+++ b/C4/SIP/ILS/Transaction/Renew.pm >@@ -45,12 +45,8 @@ sub do_renew_for { > > } > if ($renewokay){ >- $self->{due} = undef; > my $issue = AddIssue( $borrower, $self->{item}->id, undef, 0 ); >- my $due_date = dt_from_string( $issue->date_due() ); >- if ($due_date) { >- $self->{due} = $due_date; >- } >+ $self->{due} = $self->duedatefromissue($issue, $self->{item}->{itemnumber}); > $self->renewal_ok(1); > } else { > $renewerror=~s/on_reserve/Item unavailable due to outstanding holds/; >-- >2.4.3 >
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 14673
:
41452
|
42355
|
43014
|
44328
|
44548