View | Details | Raw Unified | Return to bug 32894
Collapse All | Expand All

(-)a/C4/Circulation.pm (-1 / +1 lines)
Lines 2582-2588 sub MarkIssueReturned { Link Here
2582
2582
2583
        if ( C4::Context->preference('StoreLastBorrower') ) {
2583
        if ( C4::Context->preference('StoreLastBorrower') ) {
2584
            my $item = Koha::Items->find( $itemnumber );
2584
            my $item = Koha::Items->find( $itemnumber );
2585
            $item->last_returned_by( $patron );
2585
            $item->last_returned_by( $patron->borrowernumber )->store;
2586
        }
2586
        }
2587
2587
2588
        # Remove any OVERDUES related debarment if the borrower has no overdues
2588
        # Remove any OVERDUES related debarment if the borrower has no overdues
(-)a/Koha/Item.pm (-23 / +5 lines)
Lines 598-632 sub get_transfers { Link Here
598
598
599
=head3 last_returned_by
599
=head3 last_returned_by
600
600
601
Gets and sets the last borrower to return an item.
601
Gets the last borrower to return an item.
602
603
Accepts and returns Koha::Patron objects
604
605
$item->last_returned_by( $borrowernumber );
606
602
607
$last_returned_by = $item->last_returned_by();
603
$last_returned_by = $item->last_returned_by();
608
604
609
=cut
605
=cut
610
606
611
sub last_returned_by {
607
sub last_returned_by {
612
    my ( $self, $borrower ) = @_;
608
    my ( $self ) = @_;
613
609
    my $rs = $self->_result->last_returned_by;
614
    my $items_last_returned_by_rs = Koha::Database->new()->schema()->resultset('ItemsLastBorrower');
610
    return unless $rs;
615
611
    return Koha::Patron->_new_from_dbic($rs);
616
    if ($borrower) {
617
        return $items_last_returned_by_rs->update_or_create(
618
            { borrowernumber => $borrower->borrowernumber, itemnumber => $self->id } );
619
    }
620
    else {
621
        unless ( $self->{_last_returned_by} ) {
622
            my $result = $items_last_returned_by_rs->single( { itemnumber => $self->id } );
623
            if ($result) {
624
                $self->{_last_returned_by} = Koha::Patrons->find( $result->get_column('borrowernumber') );
625
            }
626
        }
627
628
        return $self->{_last_returned_by};
629
    }
630
}
612
}
631
613
632
=head3 can_article_request
614
=head3 can_article_request
(-)a/Koha/Schema/Result/Item.pm (-1 / +7 lines)
Lines 968-973 __PACKAGE__->many_to_many( Link Here
968
  "ordernumber",
968
  "ordernumber",
969
);
969
);
970
970
971
__PACKAGE__->might_have(
972
  "last_returned_by",
973
  "Koha::Schema::Result::ItemsLastBorrower",
974
  { "foreign.itemnumber" => "self.itemnumber" },
975
  { cascade_copy => 0, cascade_delete => 0 },
976
);
977
971
use C4::Context;
978
use C4::Context;
972
sub effective_itemtype {
979
sub effective_itemtype {
973
    my ( $self ) = @_;
980
    my ( $self ) = @_;
974
- 

Return to bug 32894