Bugzilla – Attachment 92765 Details for
Bug 6759
Use a different account type for account renewals than for new accounts
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 6759: Split account creation and renewal charges
Bug-6759-Split-account-creation-and-renewal-charge.patch (text/plain), 6.81 KB, created by
Tomás Cohen Arazi (tcohen)
on 2019-09-12 18:16:59 UTC
(
hide
)
Description:
Bug 6759: Split account creation and renewal charges
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2019-09-12 18:16:59 UTC
Size:
6.81 KB
patch
obsolete
>From 44dfae260a9eeed2f6377efc83d646f01fa8f785 Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Wed, 24 Apr 2019 11:08:49 +0100 >Subject: [PATCH] Bug 6759: Split account creation and renewal charges > >Test plan: >1. Enable charging for patron enrolement >2. Add a new patron where the category is charged for >3. Note the charge of type 'Account management fee' >4. Renew the patron >5. Note the next charge of type 'Account management fee' >6. Apply patch >7. Repeat steps 1-6 and note the first charge will be of type 'Account >creation fee' and the second of type 'Account renewal fee' >8. Bonus points, enable 'FeeOnChangePatronCategory' and check that when >changing a patron from a free category to a charged one that a new >'Account renewal fee' is charged. > >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Signed-off-by: Maryse Simard <maryse.simard@inlibro.com> >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > Koha/Account.pm | 5 ++++- > Koha/Patron.pm | 15 +++++++++------ > .../intranet-tmpl/prog/en/includes/accounts.inc | 3 ++- > .../prog/en/modules/members/maninvoice.tt | 2 +- > .../bootstrap/en/includes/account-table.inc | 3 ++- > 5 files changed, 18 insertions(+), 10 deletions(-) > >diff --git a/Koha/Account.pm b/Koha/Account.pm >index 8894f817b9..35b438a0e1 100644 >--- a/Koha/Account.pm >+++ b/Koha/Account.pm >@@ -433,6 +433,7 @@ $debit_type can be any of: > - lost_item > - new_card > - account >+ - account_renew > - sundry > - processing > - rent >@@ -700,6 +701,7 @@ our $offset_type = { > 'payment' => 'Payment', > 'writeoff' => 'Writeoff', > 'account' => 'Account Fee', >+ 'account_renew' => 'Account Fee', > 'reserve' => 'Reserve Fee', > 'processing' => 'Processing Fee', > 'lost_item' => 'Lost Item', >@@ -729,7 +731,8 @@ our $account_type_credit = { > =cut > > our $account_type_debit = { >- 'account' => 'A', >+ 'account' => 'ACCOUNT', >+ 'account_renew' => 'ACCOUNT_RENEW', > 'overdue' => 'OVERDUE', > 'lost_item' => 'LOST', > 'new_card' => 'N', >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 6f31ec4937..436120e0e6 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -236,7 +236,7 @@ sub store { > > $self = $self->SUPER::store; > >- $self->add_enrolment_fee_if_needed; >+ $self->add_enrolment_fee_if_needed(0); > > logaction( "MEMBERS", "CREATE", $self->borrowernumber, "" ) > if C4::Context->preference("BorrowersLog"); >@@ -258,7 +258,7 @@ sub store { > and $self->category->categorycode ne > $self_from_storage->category->categorycode ) > { >- $self->add_enrolment_fee_if_needed; >+ $self->add_enrolment_fee_if_needed(1); > } > > # Actionlogs >@@ -751,7 +751,7 @@ sub renew_account { > $self->date_renewed( dt_from_string() ); > $self->store(); > >- $self->add_enrolment_fee_if_needed; >+ $self->add_enrolment_fee_if_needed(1); > > logaction( "MEMBERS", "RENEW", $self->borrowernumber, "Membership renewed" ) if C4::Context->preference("BorrowersLog"); > return dt_from_string( $expiry_date )->truncate( to => 'day' ); >@@ -875,23 +875,26 @@ sub article_requests_finished { > > =head3 add_enrolment_fee_if_needed > >-my $enrolment_fee = $patron->add_enrolment_fee_if_needed; >+my $enrolment_fee = $patron->add_enrolment_fee_if_needed($renewal); > > Add enrolment fee for a patron if needed. > >+$renewal - boolean denoting whether this is an account renewal or not >+ > =cut > > sub add_enrolment_fee_if_needed { >- my ($self) = @_; >+ my ($self, $renewal) = @_; > my $enrolment_fee = $self->category->enrolmentfee; > if ( $enrolment_fee && $enrolment_fee > 0 ) { >+ my $type = $renewal ? 'account_renew' : 'account'; > $self->account->add_debit( > { > amount => $enrolment_fee, > user_id => C4::Context->userenv ? C4::Context->userenv->{'number'} : undef, > interface => C4::Context->interface, > library_id => C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef, >- type => 'account' >+ type => $type > } > ); > } >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc >index a4022b5e56..61a31a2687 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc >@@ -3,7 +3,8 @@ > [%- CASE 'Pay' -%]<span>Payment > [%- CASE 'N' -%]<span>New card > [%- CASE 'OVERDUE' -%]<span>Fine >- [%- CASE 'A' -%]<span>Account management fee >+ [%- CASE 'ACCOUNT' -%]<span>Account creation fee >+ [%- CASE 'ACCOUNT_RENEW' -%]<span>Account renewal fee > [%- CASE 'M' -%]<span>Sundry > [%- CASE 'LOST' -%]<span>Lost item > [%- CASE 'W' -%]<span>Writeoff >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt >index 4772da37d4..2dcb452029 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt >@@ -79,7 +79,7 @@ > [% INCLUDE 'str/members-menu.inc' %] > [% Asset.js("js/members-menu.js") | $raw %] > <script> >- var type_fees = {'LOST':'','OVERDUE':'','A':'','N':'','M':''}; >+ var type_fees = {'LOST':'','OVERDUE':'','ACCOUNT':'','ACCOUNT_RENEW':'','N':'','M':''}; > [% FOREACH invoice_types_loo IN invoice_types_loop %] > type_fees['[% invoice_types_loo.authorised_value | html %]'] = "[% invoice_types_loo.lib | html %]"; > [% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc >index cab63bc0eb..5171ebc01c 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc >@@ -162,7 +162,8 @@ > [%- CASE 'VOID' -%]<span>Voided > [%- CASE 'N' -%]<span>New card > [%- CASE 'OVERDUE' -%]<span>Fine >- [%- CASE 'A' -%]<span>Account management fee >+ [%- CASE 'ACCOUNT' -%]<span>Account creation fee >+ [%- CASE 'ACCOUNT_RENEW' -%]<span>Account renewal fee > [%- CASE 'M' -%]<span>Sundry > [%- CASE 'LOST' -%]<span>Lost item > [%- CASE 'W' -%]<span>Writeoff >-- >2.23.0
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 6759
:
88614
|
88615
|
88731
|
88732
|
91533
|
91534
|
91662
|
91663
| 92765 |
92766
|
92767