From de32bb7b281d909d7f3505cb1ab6f9b187b95ce3 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Tue, 7 Jun 2016 15:50:04 +0000
Subject: [PATCH] Bug 16686 - Fix "Item in transit from since" in Holds tab
"From branch" and date do not show up in patron's "Holds" tab: "Item in
transit from since"
OPAC log: opac-user.pl: No method frombranch! at
/usr/share/kohaclone/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
line 607
Test Plan:
1) Apply this patch
2) Create an in transit hold
3) Not the from library is displayed
---
Koha/Item.pm | 82 +++++++++++++++++++++-
.../opac-tmpl/bootstrap/en/modules/opac-user.tt | 4 +-
2 files changed, 82 insertions(+), 4 deletions(-)
diff --git a/Koha/Item.pm b/Koha/Item.pm
index d721537..b750f29 100644
--- a/Koha/Item.pm
+++ b/Koha/Item.pm
@@ -26,6 +26,8 @@ use Koha::Database;
use Koha::Patrons;
use Koha::Libraries;
+use C4::Circulation qw( GetTransfers );
+
use base qw(Koha::Object);
=head1 NAME
@@ -96,7 +98,7 @@ sub last_returned_by {
{ borrowernumber => $borrower->borrowernumber, itemnumber => $self->id } );
}
else {
- unless ( $self->{_last_returned_by} ) {
+ unless defined ( $self->{_last_returned_by} ) {
my $result = $items_last_returned_by_rs->single( { itemnumber => $self->id } );
if ($result) {
$self->{_last_returned_by} = Koha::Patrons->find( $result->get_column('borrowernumber') );
@@ -107,7 +109,83 @@ sub last_returned_by {
}
}
-=head3 type
+=head3 _get_transit_data
+
+=cut
+
+sub _get_transit_data {
+ my ($self) = @_;
+
+ return $self->{_transit_data} if defined $self->{_transit_data};
+
+ $self->{_transit_data} = {};
+
+ my ( $date, $from, $to ) = GetTransfers( $self->id );
+
+ $self->{_transit_data}->{date} = $date;
+ $self->{_transit_data}->{from} = $from;
+ $self->{_transit_data}->{to} = $to;
+
+ return $self->{_transit_data};
+}
+
+=head3 is_in_transit
+
+$item->is_in_transit();
+
+=cut
+
+sub is_in_transit {
+ my ($self) = @_;
+
+ my $data = $self->_get_transit_data();
+
+ return $data->{date} ? 1 : 0;
+}
+
+=head3 in_transit_date
+
+my $transfer_date = $item->in_transit_date();
+
+=cut
+
+sub in_transit_date {
+ my ($self) = @_;
+
+ my $data = $self->_get_transit_data();
+
+ return $data->{date};
+}
+
+=head3 in_transit_to
+
+my $library_id = $item->in_transit_to();
+
+=cut
+
+sub in_transit_to {
+ my ($self) = @_;
+
+ my $data = $self->_get_transit_data();
+
+ return $data->{to};
+}
+
+=head3 in_transit_from
+
+my $library_id = $item->in_transit_from();
+
+=cut
+
+sub in_transit_from {
+ my ($self) = @_;
+
+ my $data = $self->_get_transit_data();
+
+ return $date->{from};
+}
+
+=head3 _type
=cut
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
index f31f47e..ada22d3 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
@@ -604,8 +604,8 @@
[% END %]
[% ELSE %]
[% IF ( RESERVE.is_in_transit ) %]
- Item in transit from <b> [% RESERVE.frombranch %]</b> since
- [% RESERVE.datesent | $KohaDates %]
+ Item in transit from <b> [% Branches.GetName( RESERVE.item.in_transit_from ) %]</b> since
+ [% RESERVE.item.in_transit_date | $KohaDates %]
[% ELSIF ( RESERVE.suspend ) %]
Suspended [% IF ( RESERVE.suspend_until ) %] until [% RESERVE.suspend_until %] [% END %]
[% ELSE %]
--
2.1.4