Lines 60-65
sub GetLastpickupdate {
Link Here
|
60 |
return $expiration; |
60 |
return $expiration; |
61 |
} |
61 |
} |
62 |
|
62 |
|
|
|
63 |
=head2 GetWaitingReserves |
63 |
|
64 |
|
|
|
65 |
my $waitingReserves = GetWaitingReserves($borrowernumber); |
66 |
|
67 |
@PARAM1 Integer from koha.borrowers.borrowernumber |
68 |
@RETURNS DBIx:: containing Reservation-objects. |
69 |
=cut |
70 |
sub GetWaitingReserves { |
71 |
my ($borrowernumber) = @_; |
72 |
|
73 |
my $schema = Koha::Database->new()->schema(); |
74 |
my $reserves_rs = $schema->resultset('Reserve')->search( |
75 |
{ -and => [ |
76 |
borrowernumber => $borrowernumber, |
77 |
found => 'W' |
78 |
] |
79 |
}, |
80 |
{ |
81 |
prefetch => { 'item' => 'biblio' }, |
82 |
} |
83 |
); |
84 |
|
85 |
my $currentBranch = C4::Context->userenv->{branch}; |
86 |
|
87 |
my @waitingReserves; |
88 |
while ( my $reserve = $reserves_rs->next() ) { |
89 |
my %waitingReserveInfo; |
90 |
|
91 |
my $lastpickupdate = Koha::Reserves::GetLastpickupdate( $reserve ); |
92 |
$lastpickupdate = C4::Dates->new($lastpickupdate->ymd(), 'iso')->output(); |
93 |
|
94 |
my $pickupBranchcode = $reserve->branchcode(); |
95 |
my $pickupBranch; |
96 |
if (ref $pickupBranchcode eq 'Koha::Schema::Result::Branch') { |
97 |
$pickupBranch = $pickupBranchcode; |
98 |
$pickupBranchcode = $pickupBranchcode->branchcode(); |
99 |
} |
100 |
|
101 |
my $biblio = $reserve->biblio(); |
102 |
if ($biblio) { #For some reason it is possible for a waiting hold to not have a biblio? |
103 |
$waitingReserveInfo{title} = $biblio->title(); |
104 |
$waitingReserveInfo{biblionumber} = $biblio->biblionumber(); |
105 |
$waitingReserveInfo{author} = $biblio->author(); |
106 |
} |
107 |
else { |
108 |
$waitingReserveInfo{title} = "<<ERROR, no biblio found>>"; |
109 |
} |
110 |
|
111 |
$waitingReserveInfo{lastpickupdate} = $lastpickupdate; |
112 |
|
113 |
my $item = $reserve->item(); |
114 |
if ($item) { |
115 |
$waitingReserveInfo{itemcallnumber} = $reserve->item()->itemcallnumber(); |
116 |
} |
117 |
else { |
118 |
$waitingReserveInfo{itemcallnumber} = "<<ERROR, no item found>>"; |
119 |
} |
120 |
|
121 |
#$waitingReserveInfo{itemcallnumber} = $reserve->item()->itemcallnumber(); |
122 |
$waitingReserveInfo{waitinghere} = 1 if $pickupBranchcode eq $currentBranch; |
123 |
$waitingReserveInfo{waitingat} = $pickupBranch->branchname(); |
124 |
|
125 |
push @waitingReserves, \%waitingReserveInfo; |
126 |
} |
127 |
return \@waitingReserves; |
128 |
} |
64 |
|
129 |
|
65 |
return 1; |
130 |
return 1; |