Browse Source

Bug 19919: Stop using paidfor altogether

This patch removed references to setting and getting the items.paidfor
field. Where it was used for display, in moredetail.pl, we replace it
with a query on the accountlines.

Test plan:
1) Apply patch
2) Pay off a LOST item
3) Check for the associated display of 'Paidfor?:' on the itemdetails
page
4) Writeoff a LOST item
5) Check that a 'Paidfor?:' is not displayed on the itemdetails page.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
remotes/origin/19.11.x
Martin Renvoize 4 years ago
parent
commit
0f54a1f8c6
Signed by: martin.renvoize GPG Key ID: 422B469130441A0F
  1. 10
      C4/Circulation.pm
  2. 3
      C4/Items.pm
  3. 13
      Koha/Account/Line.pm
  4. 2
      admin/columns_settings.yml
  5. 38
      catalogue/moredetail.pl
  6. 1
      koha-tmpl/intranet-tmpl/prog/en/columns.def

10
C4/Circulation.pm

@ -2471,8 +2471,6 @@ sub _FixAccountForLostAndReturned {
$accountline->discard_changes->status('RETURNED');
$accountline->store;
ModItem( { paidfor => '' }, undef, $itemnumber, { log_action => 0 } );
if ( defined $account and C4::Context->preference('AccountAutoReconcile') ) {
$account->reconcile_balance;
}
@ -3677,15 +3675,7 @@ sub DeleteBranchTransferLimits {
sub ReturnLostItem{
my ( $borrowernumber, $itemnum ) = @_;
MarkIssueReturned( $borrowernumber, $itemnum );
my $patron = Koha::Patrons->find( $borrowernumber );
my $item = Koha::Items->find($itemnum);
my $old_note = ($item->paidfor && ($item->paidfor ne q{})) ? $item->paidfor.' / ' : q{};
my @datearr = localtime(time);
my $date = ( 1900 + $datearr[5] ) . "-" . ( $datearr[4] + 1 ) . "-" . $datearr[3];
my $bor = $patron->firstname . ' ' . $patron->surname . ' ' . $patron->cardnumber;
ModItem({ paidfor => $old_note."Paid for by $bor $date" }, undef, $itemnum);
}

3
C4/Items.pm

@ -393,7 +393,6 @@ sub _build_default_values_for_mod_marc {
materials => undef,
new_status => undef,
notforloan => 0,
# paidfor => undef, # commented, see bug 12817
price => undef,
replacementprice => undef,
replacementpricedate => undef,
@ -1576,7 +1575,6 @@ sub _koha_new_item {
itemnotes = ?,
itemnotes_nonpublic = ?,
holdingbranch = ?,
paidfor = ?,
location = ?,
permanent_location = ?,
onloan = ?,
@ -1620,7 +1618,6 @@ sub _koha_new_item {
$item->{'itemnotes'},
$item->{'itemnotes_nonpublic'},
$item->{'holdingbranch'},
$item->{'paidfor'},
$item->{'location'},
$item->{'permanent_location'},
$item->{'onloan'},

13
Koha/Account/Line.pm

@ -41,6 +41,19 @@ Koha::Account::Line - Koha accountline Object class
=cut
=head3 patron
Return the patron linked to this account line
=cut
sub patron {
my ( $self ) = @_;
my $rs = $self->_result->borrowernumber;
return unless $rs;
return Koha::Patron->_new_from_dbic( $rs );
}
=head3 item
Return the item linked to this account line if exists

2
admin/columns_settings.yml

@ -272,8 +272,6 @@ modules:
columnname: itemnotes_nonpublic
-
columnname: holdingbranch
-
columnname: paidfor
-
columnname: timestamp
-

38
catalogue/moredetail.pl

@ -174,6 +174,44 @@ foreach my $item (@items){
$item->{status_advisory} = 1;
}
# Add paidfor info
if ( $item->{itemlost} ) {
my $accountlines = Koha::Account::Lines->search(
{
itemnumber => $item->{itemnumber},
accounttype => 'LOST',
status => [ undef, { '<>' => 'RETURNED' } ],
amountoutstanding => 0
},
{
order_by => { '-desc' => 'date' },
rows => 1
}
);
if ( my $accountline = $accountlines->next ) {
my $payment_offsets = Koha::Account::Offsets->search(
{
debit_id => $accountline->id,
credit_id => { '!=' => undef }, # it is not the debit itself
type => { '!=' => [ 'Writeoff', 'Forgiven' ] },
amount => { '<' => 0 } # credits are negative on the DB
},
{ order_by => { '-desc' => 'created_on' } }
);
if ($payment_offsets->count) {
my $patron = $accountline->patron;
my $payment_offset = $payment_offsets->next;
$item->{paidfor} =
$patron->firstname . " "
. $patron->surname . " "
. $patron->cardnumber . " "
. $payment_offset->created_on;
}
}
}
if (C4::Context->preference("IndependentBranches")) {
#verifying rights
my $userenv = C4::Context->userenv();

1
koha-tmpl/intranet-tmpl/prog/en/columns.def

@ -92,7 +92,6 @@
<field name="items.itemnotes">Public note</field>
<field name="items.itemnotes_nonpublic">Internal note</field>
<field name="items.holdingbranch">Current library</field>
<field name="items.paidfor">Paid for (unused)</field>
<field name="items.timestamp">Timestamp</field>
<field name="items.location">Shelving location</field>
<field name="items.permanent_location">Permanent shelving location</field>

Loading…
Cancel
Save