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

(-)a/C4/Circulation.pm (-1 / +1 lines)
Lines 2555-2561 sub MarkIssueReturned { Link Here
2555
2555
2556
        if ( C4::Context->preference('StoreLastBorrower') ) {
2556
        if ( C4::Context->preference('StoreLastBorrower') ) {
2557
            my $item = Koha::Items->find( $itemnumber );
2557
            my $item = Koha::Items->find( $itemnumber );
2558
            $item->last_returned_by( $patron );
2558
            $item->last_returned_by( $patron->borrowernumber )->store;
2559
        }
2559
        }
2560
2560
2561
        # Remove any OVERDUES related debarment if the borrower has no overdues
2561
        # Remove any OVERDUES related debarment if the borrower has no overdues
(-)a/Koha/Item.pm (-23 / +5 lines)
Lines 599-633 sub get_transfers { Link Here
599
599
600
=head3 last_returned_by
600
=head3 last_returned_by
601
601
602
Gets and sets the last borrower to return an item.
602
Gets the last borrower to return an item.
603
604
Accepts and returns Koha::Patron objects
605
606
$item->last_returned_by( $borrowernumber );
607
603
608
$last_returned_by = $item->last_returned_by();
604
$last_returned_by = $item->last_returned_by();
609
605
610
=cut
606
=cut
611
607
612
sub last_returned_by {
608
sub last_returned_by {
613
    my ( $self, $borrower ) = @_;
609
    my ( $self ) = @_;
614
610
    my $rs = $self->_result->last_returned_by;
615
    my $items_last_returned_by_rs = Koha::Database->new()->schema()->resultset('ItemsLastBorrower');
611
    return unless $rs;
616
612
    return Koha::Patron->_new_from_dbic($rs);
617
    if ($borrower) {
618
        return $items_last_returned_by_rs->update_or_create(
619
            { borrowernumber => $borrower->borrowernumber, itemnumber => $self->id } );
620
    }
621
    else {
622
        unless ( $self->{_last_returned_by} ) {
623
            my $result = $items_last_returned_by_rs->single( { itemnumber => $self->id } );
624
            if ($result) {
625
                $self->{_last_returned_by} = Koha::Patrons->find( $result->get_column('borrowernumber') );
626
            }
627
        }
628
629
        return $self->{_last_returned_by};
630
    }
631
}
613
}
632
614
633
=head3 can_article_request
615
=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