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 597-631 sub get_transfers { Link Here
597
597
598
=head3 last_returned_by
598
=head3 last_returned_by
599
599
600
Gets and sets the last borrower to return an item.
600
Gets the last borrower to return an item.
601
602
Accepts and returns Koha::Patron objects
603
604
$item->last_returned_by( $borrowernumber );
605
601
606
$last_returned_by = $item->last_returned_by();
602
$last_returned_by = $item->last_returned_by();
607
603
608
=cut
604
=cut
609
605
610
sub last_returned_by {
606
sub last_returned_by {
611
    my ( $self, $borrower ) = @_;
607
    my ( $self ) = @_;
612
608
    my $rs = $self->_result->last_returned_by;
613
    my $items_last_returned_by_rs = Koha::Database->new()->schema()->resultset('ItemsLastBorrower');
609
    return unless $rs;
614
610
    return Koha::Patron->_new_from_dbic($rs);
615
    if ($borrower) {
616
        return $items_last_returned_by_rs->update_or_create(
617
            { borrowernumber => $borrower->borrowernumber, itemnumber => $self->id } );
618
    }
619
    else {
620
        unless ( $self->{_last_returned_by} ) {
621
            my $result = $items_last_returned_by_rs->single( { itemnumber => $self->id } );
622
            if ($result) {
623
                $self->{_last_returned_by} = Koha::Patrons->find( $result->get_column('borrowernumber') );
624
            }
625
        }
626
627
        return $self->{_last_returned_by};
628
    }
629
}
611
}
630
612
631
=head3 can_article_request
613
=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