From 98e307c9afbe12b02d3e67a560006b01c0173824 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 17 Dec 2021 10:32:04 -0300 Subject: [PATCH] Bug 27946: Add UI handling of AR fees This patch: - Adds a notice about the fee to be charged to the patron (staff and OPAC) - Adds the right UI description for ARTICLE_REQUEST_FEE debit types in the UI. To test: 1. Have some article request fee rules 2. Play with placing an article request in OPAC and staff => SUCCESS: You see a message about the fee => SUCCESS: The fees are correctly applied to the patron 3. Sign off :-D --- circ/request-article.pl | 8 +++-- .../prog/en/includes/accounts.inc | 31 ++++++++++--------- .../prog/en/modules/circ/request-article.tt | 7 ++++- .../bootstrap/en/includes/accounts.inc | 31 ++++++++++--------- .../en/modules/opac-request-article.tt | 7 +++++ opac/opac-request-article.pl | 3 ++ 6 files changed, 54 insertions(+), 33 deletions(-) diff --git a/circ/request-article.pl b/circ/request-article.pl index dbe91dd52f..6a6e63c1d2 100755 --- a/circ/request-article.pl +++ b/circ/request-article.pl @@ -129,10 +129,14 @@ if ( !$patron && $patron_cardnumber ) { } } -if( $patron && !$patron->can_request_article) { +if ( $patron && !$patron->can_request_article ) { $patron = undef; + $template->param( error_message => 'article_request_limit_reached' ); +} + +if ( $patron ) { $template->param( - error_message => 'article_request_limit_reached' + article_request_fee => $patron->article_request_fee ); } diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc index e57195717c..76b9727fbb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc @@ -11,21 +11,22 @@ [%- BLOCK debit_type_description -%] [%- SWITCH debit_type.code -%] - [%- CASE 'ACCOUNT' -%]Account creation fee - [%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee - [%- CASE 'LOST' -%]Lost item - [%- CASE 'MANUAL' -%]Manual fee - [%- CASE 'NEW_CARD' -%]New card - [%- CASE 'OVERDUE' -%]Fine - [%- CASE 'PROCESSING' -%]Lost item processing fee - [%- CASE 'RENT' -%]Rental fee - [%- CASE 'RENT_DAILY' -%]Daily rental fee - [%- CASE 'RENT_RENEW' -%]Renewal of rental item - [%- CASE 'RENT_DAILY_RENEW' -%]Renewal of daily rental item - [%- CASE 'RESERVE' -%]Hold fee - [%- CASE 'RESERVE_EXPIRED' -%]Hold waiting too long - [%- CASE 'Payout' -%]Payout - [%- CASE -%][% debit_type.description | html %] + [%- CASE 'ACCOUNT' -%]Account creation fee + [%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee + [%- CASE 'ARTICLE_REQUEST_FEE' -%]Article scan request fee + [%- CASE 'LOST' -%]Lost item + [%- CASE 'MANUAL' -%]Manual fee + [%- CASE 'NEW_CARD' -%]New card + [%- CASE 'OVERDUE' -%]Fine + [%- CASE 'PROCESSING' -%]Lost item processing fee + [%- CASE 'RENT' -%]Rental fee + [%- CASE 'RENT_DAILY' -%]Daily rental fee + [%- CASE 'RENT_RENEW' -%]Renewal of rental item + [%- CASE 'RENT_DAILY_RENEW' -%]Renewal of daily rental item + [%- CASE 'RESERVE' -%]Hold fee + [%- CASE 'RESERVE_EXPIRED' -%]Hold waiting too long + [%- CASE 'Payout' -%]Payout + [%- CASE -%][% debit_type.description | html %] [%- END -%] [%- END -%] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt index 56536b9fbd..618a3c62f0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/request-article.tt @@ -5,6 +5,7 @@ [% USE Branches %] [% USE ItemTypes %] [% USE AuthorisedValues %] +[% USE Price %] [% SET footerjs = 1 %] [% SET article_requests_view = 1 %] [% SET biblionumber = biblio.biblionumber %] @@ -143,7 +144,11 @@ [% ELSE %] [% IF biblio.can_article_request( patron ) %] - + [% IF article_request_fee > 0 %] +
+ Patron will be charged with [% article_request_fee | $Price %] for every request +
+ [% END %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc index ca749fb7c9..3860d47d11 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/accounts.inc @@ -11,21 +11,22 @@ [%- BLOCK debit_type_description -%] [%- SWITCH debit_type_code -%] - [%- CASE 'ACCOUNT' -%]Account creation fee - [%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee - [%- CASE 'LOST' -%]Lost item - [%- CASE 'MANUAL' -%]Manual fee - [%- CASE 'NEW_CARD' -%]New card - [%- CASE 'OVERDUE' -%]Fine - [%- CASE 'PROCESSING' -%]Lost item processing fee - [%- CASE 'RENT' -%]Rental fee - [%- CASE 'RENT_DAILY' -%]Daily rental fee - [%- CASE 'RENT_RENEW' -%]Renewal of rental item - [%- CASE 'RENT_DAILY_RENEW' -%]Renewal of daily rental item - [%- CASE 'RESERVE' -%]Hold fee - [%- CASE 'RESERVE_EXPIRED' -%]Hold waiting too long - [%- CASE 'Payout' -%]Payout - [%- CASE -%][% debit_type.description | html %] + [%- CASE 'ACCOUNT' -%]Account creation fee + [%- CASE 'ACCOUNT_RENEW' -%]Account renewal fee + [%- CASE 'ARTICLE_REQUEST_FEE' -%]Article scan request fee + [%- CASE 'LOST' -%]Lost item + [%- CASE 'MANUAL' -%]Manual fee + [%- CASE 'NEW_CARD' -%]New card + [%- CASE 'OVERDUE' -%]Fine + [%- CASE 'PROCESSING' -%]Lost item processing fee + [%- CASE 'RENT' -%]Rental fee + [%- CASE 'RENT_DAILY' -%]Daily rental fee + [%- CASE 'RENT_RENEW' -%]Renewal of rental item + [%- CASE 'RENT_DAILY_RENEW' -%]Renewal of daily rental item + [%- CASE 'RESERVE' -%]Hold fee + [%- CASE 'RESERVE_EXPIRED' -%]Hold waiting too long + [%- CASE 'Payout' -%]Payout + [%- CASE -%][% debit_type.description | html %] [%- END -%] [%- END -%] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt index 613f0fa3e1..505336d379 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-request-article.tt @@ -2,6 +2,7 @@ [% USE Branches %] [% USE ItemTypes %] [% USE AdditionalContents %] +[% USE Price %] [% USE raw %] [% INCLUDE 'doc-head-open.inc' %] @@ -57,6 +58,12 @@ [% IF article_request_type == 'item_only' %] [% SET mandatory_fields = Koha.Preference('ArticleRequestsMandatoryFieldsItemOnly') %] [% END %] + [% IF article_request_fee > 0 %] +
+ You will be charged with [% article_request_fee | $Price %] for every request +
+ [% END %] + Place article request diff --git a/opac/opac-request-article.pl b/opac/opac-request-article.pl index 1ef7184e0b..dcf9f214a5 100755 --- a/opac/opac-request-article.pl +++ b/opac/opac-request-article.pl @@ -128,6 +128,9 @@ if(!$patron->can_request_article) { ); } +$template->param( article_request_fee => $patron->article_request_fee ) + if $action ne 'create'; + $template->param( biblio => $biblio, patron => $patron, -- 2.32.0