Bugzilla – Attachment 106950 Details for
Bug 24381
ACCOUNT_CREDIT and ACCOUNT_DEBIT slip not printing information about paid fines/fees
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24381: Ratify account slip printing
Bug-24381-Ratify-account-slip-printing.patch (text/plain), 12.10 KB, created by
Martin Renvoize (ashimema)
on 2020-07-16 13:37:23 UTC
(
hide
)
Description:
Bug 24381: Ratify account slip printing
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2020-07-16 13:37:23 UTC
Size:
12.10 KB
patch
obsolete
>From abec2edca3d23c56f4ef505ddd357a095d5ab439 Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Thu, 16 Jul 2020 09:42:20 +0100 >Subject: [PATCH] Bug 24381: Ratify account slip printing > >This patch simplifies the members/print*.pl controller scripts to only >pass around the minimum required data for the templates. >--- > .../prog/en/modules/members/boraccount.tt | 6 +- > members/printfeercpt.pl | 102 +++++++----------- > members/printinvoice.pl | 80 +++++--------- > pos/printreceipt.pl | 25 +++-- > 4 files changed, 78 insertions(+), 135 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt >index 94f0b9620a..57c38df0d3 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt >@@ -79,9 +79,9 @@ > [% IF account.amountoutstanding <= 0 %]<td class="credit" style="text-align: right;">[% ELSE %]<td class="debit" style="text-align: right;">[% END %][% account.amountoutstanding | $Price %]</td> > <td class="actions"> > [% IF ( account.is_credit ) %] >- <a target="_blank" href="printfeercpt.pl?action=print&accountlines_id=[% account.accountlines_id | uri %]&borrowernumber=[% account.borrowernumber | uri %]" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print</a> >+ <a target="_blank" href="printfeercpt.pl?action=print&accountlines_id=[% account.accountlines_id | uri %]" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print</a> > [% ELSE %] >- <a target="_blank" href="printinvoice.pl?action=print&accountlines_id=[% account.accountlines_id | uri %]&borrowernumber=[% account.borrowernumber | uri %]" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print</a> >+ <a target="_blank" href="printinvoice.pl?action=print&accountlines_id=[% account.accountlines_id | uri %]" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print</a> > [% END %] > <a href="accountline-details.pl?accountlines_id=[% account.accountlines_id | uri %]" class="btn btn-default btn-xs"><i class="fa fa-list"></i> Details</a> > [% IF account.is_debit && account.amountoutstanding > 0 %] >@@ -308,7 +308,7 @@ > <script> > $(document).ready(function() { > [% IF payment_id && Koha.Preference('FinePaymentAutoPopup') %] >- window.open('/cgi-bin/koha/members/printfeercpt.pl?action=print&change_given=[% change_given | html %]&accountlines_id=[% payment_id | html %]&borrowernumber=[% patron.borrowernumber | html %]', '_blank'); >+ window.open('/cgi-bin/koha/members/printfeercpt.pl?action=print&change_given=[% change_given | html %]&accountlines_id=[% payment_id | html %]', '_blank'); > [% END %] > > var txtActivefilter = _("Filter paid transactions"); >diff --git a/members/printfeercpt.pl b/members/printfeercpt.pl >index 5c56514a96..8f5c311f8c 100755 >--- a/members/printfeercpt.pl >+++ b/members/printfeercpt.pl >@@ -1,11 +1,7 @@ > #!/usr/bin/perl > >- >-#written 3rd May 2010 by kmkale@anantcorp.com adapted from boraccount.pl by chris@katipo.oc.nz >-#script to print fee receipts >- >- >-# Copyright Koustubha Kale >+# Copyright Koustubha Kale 2010 >+# Copyright PTFS Europe 2020 > # > # This file is part of Koha. > # >@@ -27,74 +23,48 @@ use Modern::Perl; > use C4::Auth; > use C4::Output; > use CGI qw ( -utf8 ); >-use C4::Members; >-use C4::Accounts; > use C4::Letters; > use Koha::Account::Lines; >-use Koha::DateUtils; >-use Koha::Patrons; >-use Koha::Patron::Categories; >- >-my $input=new CGI; >- >- >-my ($template, $loggedinuser, $cookie) >- = get_template_and_user({template_name => "members/printfeercpt.tt", >- query => $input, >- type => "intranet", >- authnotrequired => 0, >- flagsrequired => {borrowers => 'edit_borrowers', updatecharges => 'remaining_permissions'}, >- debug => 1, >- }); >- >-my $borrowernumber=$input->param('borrowernumber'); >-my $action = $input->param('action') || ''; >-my $accountlines_id = $input->param('accountlines_id'); >-my $change_given = $input->param('change_given'); > >-my $logged_in_user = Koha::Patrons->find( $loggedinuser ); >-my $patron = Koha::Patrons->find( $borrowernumber ); >-output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); >- >-#get account details >-my $total = $patron->account->balance; >- >-# FIXME This whole stuff is ugly and should be rewritten >-# FIXME We should pass the $accts iterator to the template and do this formatting part there >-my $accountline_object = Koha::Account::Lines->find($accountlines_id); >-my $accountline = $accountline_object->unblessed; >-my $totalcredit; >-if($total <= 0){ >- $totalcredit = 1; >-} >- >-$accountline->{'amount'} += 0.00; >-if ( $accountline->{'amount'} <= 0 ) { >- $accountline->{'amountcredit'} = 1; >- $accountline->{'amount'} *= -1.00; >-} >-$accountline->{'amountoutstanding'} += 0.00; >-if ( $accountline->{'amountoutstanding'} <= 0 ) { >- $accountline->{'amountoutstandingcredit'} = 1; >-} >+my $input = CGI->new; >+ >+my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >+ { >+ template_name => "members/printfeercpt.tt", >+ query => $input, >+ type => "intranet", >+ authnotrequired => 0, >+ flagsrequired => { >+ borrowers => 'edit_borrowers', >+ updatecharges => 'remaining_permissions' >+ } >+ } >+); > >-my $letter = C4::Letters::getletter( 'circulation', 'ACCOUNT_CREDIT', C4::Context::mybranch, 'print', $patron->lang ); >+my $credit_id = $input->param('accountlines_id'); >+my $credit = Koha::Account::Lines->find($credit_id); >+my $patron = $credit->patron; >+ >+my $logged_in_user = Koha::Patrons->find($loggedinuser) or die "Not logged in"; >+output_and_exit_if_error( >+ $input, $cookie, >+ $template, >+ { >+ module => 'members', >+ logged_in_user => $logged_in_user, >+ current_patron => $patron >+ } >+); > >-my @account_offsets = Koha::Account::Offsets->search( { credit_id => $accountline_object->id } ); >+my $letter = C4::Letters::getletter( 'circulation', 'ACCOUNT_CREDIT', >+ C4::Context::mybranch, 'print', $patron->lang ); > > $template->param( >- letter => $letter, >- patron => $patron, >- library => C4::Context::mybranch, >- offsets => \@account_offsets, >- credit => $accountline_object, >- >- finesview => 1, >- total => $total, >- totalcredit => $totalcredit, >- accounts => [$accountline], # FIXME There is always only 1 row! >+ letter => $letter, >+ credit => $credit, > >- change_given => $change_given, >+ tendered => scalar $input->param('tendered'), >+ change => scalar $input->param('change') > ); > > output_html_with_http_headers $input, $cookie, $template->output; >diff --git a/members/printinvoice.pl b/members/printinvoice.pl >index 38950e3647..71641897ed 100755 >--- a/members/printinvoice.pl >+++ b/members/printinvoice.pl >@@ -1,9 +1,7 @@ > #!/usr/bin/perl > >-#written 3rd May 2010 by kmkale@anantcorp.com adapted from boraccount.pl by chris@katipo.oc.nz >-#script to print fee receipts >- >-# Copyright Koustubha Kale >+# Copyright Koustubha Kale 2010 >+# Copyright PTFS Europe 2020 > # > # This file is part of Koha. > # >@@ -24,71 +22,47 @@ use Modern::Perl; > > use C4::Auth; > use C4::Output; >-use Koha::DateUtils; > use CGI qw ( -utf8 ); >-use C4::Members; >-use C4::Accounts; >- >+use C4::Letters; > use Koha::Account::Lines; >-use Koha::Patrons; >-use Koha::Patron::Categories; > >-my $input = new CGI; >+my $input = CGI->new; > > my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >- { template_name => "members/printinvoice.tt", >+ { >+ template_name => "members/printinvoice.tt", > query => $input, > type => "intranet", > authnotrequired => 0, >- flagsrequired => { borrowers => 'edit_borrowers', updatecharges => 'remaining_permissions' }, >- debug => 1, >+ flagsrequired => { >+ borrowers => 'edit_borrowers', >+ updatecharges => 'remaining_permissions' >+ } > } > ); > >-my $borrowernumber = $input->param('borrowernumber'); >-my $action = $input->param('action') || ''; >-my $accountlines_id = $input->param('accountlines_id'); >- >-my $logged_in_user = Koha::Patrons->find( $loggedinuser ); >-my $patron = Koha::Patrons->find( $borrowernumber ); >-output_and_exit_if_error( $input, $cookie, $template, { module => 'members', logged_in_user => $logged_in_user, current_patron => $patron } ); >- >-#get account details >-my $total = $patron->account->balance; >-my $accountline_object = Koha::Account::Lines->find($accountlines_id); >-my $accountline = $accountline_object->unblessed; >- >-my $totalcredit; >-if ( $total <= 0 ) { >- $totalcredit = 1; >-} >- >- >-$accountline->{'amount'} += 0.00; >-if ( $accountline->{'amount'} <= 0 ) { >- $accountline->{'amountcredit'} = 1; >- $accountline->{'amount'} *= -1.00; >-} >-$accountline->{'amountoutstanding'} += 0.00; >-if ( $accountline->{'amountoutstanding'} <= 0 ) { >- $accountline->{'amountoutstandingcredit'} = 1; >-} >- >-my @account_offsets = Koha::Account::Offsets->search( { debit_id => $accountline_object->id } ); >+my $debit_id = $input->param('accountlines_id'); >+my $debit = Koha::Account::Lines->find($debit_id); >+my $patron = $debit->patron; >+ >+my $logged_in_user = Koha::Patrons->find($loggedinuser) or die "Not logged in"; >+output_and_exit_if_error( >+ $input, $cookie, >+ $template, >+ { >+ module => 'members', >+ logged_in_user => $logged_in_user, >+ current_patron => $patron >+ } >+); > >-my $letter = C4::Letters::getletter( 'circulation', 'ACCOUNT_DEBIT', C4::Context::mybranch, 'print', $patron->lang ); >+my $letter = C4::Letters::getletter( 'circulation', 'ACCOUNT_DEBIT', >+ C4::Context::mybranch, 'print', $patron->lang ); > > $template->param( > letter => $letter, >- patron => $patron, >- library => C4::Context::mybranch, >- offsets => \@account_offsets, >- debit => $accountline_object, >+ debit => $debit > >- finesview => 1, >- total => sprintf( "%.2f", $total ), >- totalcredit => $totalcredit, >- accounts => [$accountline], # FIXME There is always only 1 row! > ); > > output_html_with_http_headers $input, $cookie, $template->output; >diff --git a/pos/printreceipt.pl b/pos/printreceipt.pl >index ae5313695f..1ad5e03834 100755 >--- a/pos/printreceipt.pl >+++ b/pos/printreceipt.pl >@@ -37,31 +37,30 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > } > ); > >-my $action = $input->param('action') || ''; > my $payment_id = $input->param('accountlines_id'); >+my $payment = Koha::Account::Lines->find($payment_id); >+my $patron = $payment->patron; > > my $logged_in_user = Koha::Patrons->find($loggedinuser) or die "Not logged in"; > output_and_exit_if_error( > $input, $cookie, > $template, > { >- module => 'pos', >+ module => 'members', > logged_in_user => $logged_in_user, >+ current_patron => $patron > } >-); >- >-my $payment = Koha::Account::Lines->find($payment_id); >-my @offsets = Koha::Account::Offsets->search( { credit_id => $payment_id } ); >+) if $patron; # Payment could have been anonymous > >-my $letter = >- C4::Letters::getletter( 'pos', 'RECEIPT', C4::Context::mybranch, 'print' ); >+my $letter = C4::Letters::getletter( 'pos', 'RECEIPT', >+ C4::Context::mybranch, 'print', $patron->lang ); > > $template->param( >- letter => $letter, >- payment => $payment, >- offsets => \@offsets, >- collected => scalar $input->param('collected'), >- change => scalar $input->param('change') >+ letter => $letter, >+ payment => $payment, >+ >+ tendered => scalar $input->param('tendered'), >+ change => scalar $input->param('change') > ); > > output_html_with_http_headers $input, $cookie, $template->output; >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24381
:
106946
|
106947
|
106950
|
106951
|
106952
|
106953
|
106956
|
106957
|
106958
|
106959
|
106960
|
106974
|
106975
|
106976
|
106977
|
110210
|
110211
|
110212
|
110213
|
110461
|
110462
|
110463
|
110464
|
111530
|
111531
|
111532
|
111533
|
111534
|
111590
|
111591
|
111592
|
111593
|
111594
|
111595
|
116394
|
140868
|
140869
|
140870
|
140871
|
140872
|
140873
|
141619
|
141620
|
141621
|
141622
|
141623
|
142386
|
142387
|
142388
|
142389
|
142390