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

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

Return to bug 32894