Bug 32894: Koha::Item->last_returned_by
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
68216c541b
commit
3545292513
|
|
@ -2621,7 +2621,7 @@ sub MarkIssueReturned {
|
|||
|
||||
if ( C4::Context->preference('StoreLastBorrower') ) {
|
||||
my $item = Koha::Items->find( $itemnumber );
|
||||
$item->last_returned_by( $patron );
|
||||
$item->last_returned_by( $patron->borrowernumber )->store;
|
||||
}
|
||||
|
||||
# Remove any OVERDUES related debarment if the borrower has no overdues
|
||||
|
|
|
|||
28
Koha/Item.pm
28
Koha/Item.pm
|
|
@ -596,35 +596,17 @@ sub get_transfers {
|
|||
|
||||
=head3 last_returned_by
|
||||
|
||||
Gets and sets the last borrower to return an item.
|
||||
|
||||
Accepts and returns Koha::Patron objects
|
||||
|
||||
$item->last_returned_by( $borrowernumber );
|
||||
Gets the last borrower to return an item.
|
||||
|
||||
$last_returned_by = $item->last_returned_by();
|
||||
|
||||
=cut
|
||||
|
||||
sub last_returned_by {
|
||||
my ( $self, $borrower ) = @_;
|
||||
|
||||
my $items_last_returned_by_rs = Koha::Database->new()->schema()->resultset('ItemsLastBorrower');
|
||||
|
||||
if ($borrower) {
|
||||
return $items_last_returned_by_rs->update_or_create(
|
||||
{ borrowernumber => $borrower->borrowernumber, itemnumber => $self->id } );
|
||||
}
|
||||
else {
|
||||
unless ( $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') );
|
||||
}
|
||||
}
|
||||
|
||||
return $self->{_last_returned_by};
|
||||
}
|
||||
my ( $self ) = @_;
|
||||
my $rs = $self->_result->last_returned_by;
|
||||
return unless $rs;
|
||||
return Koha::Patron->_new_from_dbic($rs);
|
||||
}
|
||||
|
||||
=head3 can_article_request
|
||||
|
|
|
|||
|
|
@ -982,6 +982,13 @@ __PACKAGE__->has_many(
|
|||
}
|
||||
);
|
||||
|
||||
__PACKAGE__->might_have(
|
||||
"last_returned_by",
|
||||
"Koha::Schema::Result::ItemsLastBorrower",
|
||||
{ "foreign.itemnumber" => "self.itemnumber" },
|
||||
{ cascade_copy => 0, cascade_delete => 0 },
|
||||
);
|
||||
|
||||
use C4::Context;
|
||||
sub effective_itemtype {
|
||||
my ( $self ) = @_;
|
||||
|
|
|
|||
Loading…
Reference in New Issue