@@ -, +, @@ chosen branch (or all) - Apply the patch - Open smart-rules.pl The policy can be set to Yes and No, and works as expected. - Pick a specific branch again to the page. in the 'All libraries' scenario. --- admin/smart-rules.pl | 49 ++++++----- .../prog/en/modules/admin/smart-rules.tt | 95 ++++++++++++++-------- 2 files changed, 88 insertions(+), 56 deletions(-) --- a/admin/smart-rules.pl +++ a/admin/smart-rules.pl @@ -426,28 +426,37 @@ elsif ($op eq "add-branch-item") { } } } -elsif ( $op eq 'add-refund-lost-item-fee-rule' ) { - my $ref_branchcode = $input->param('ref_branchcode'); - my $ref_refund = $input->param('ref_refund'); - # We retrieve the object to update it, or create a new one - my $refundLostItemFeeRule = Koha::RefundLostItemFeeRules->find({ - branchcode => $ref_branchcode - }) // Koha::RefundLostItemFeeRule->new; - $refundLostItemFeeRule->set({ - branchcode => $ref_branchcode, - refund => $ref_refund - })->store(); -} -elsif ( $op eq 'del-refund-lost-item-fee-rule' ) { - my $ref_branchcode = $input->param('ref_branchcode'); - eval { - Koha::RefundLostItemFeeRules->find({ - branchcode => $ref_branchcode - })->delete; - }; +elsif ( $op eq 'mod-refund-lost-item-fee-rule' ) { + + my $refund = $input->param('refund'); + + if ( $refund eq '*' ) { + if ( $branch ne '*' ) { + # only do something for $refund eq '*' if branch-specific + eval { + # Delete it so it picks the default + Koha::RefundLostItemFeeRules->find({ + branchcode => $branch + })->delete; + }; + } + } else { + my $refundRule = + Koha::RefundLostItemFeeRules->find({ + branchcode => $branch + }) // Koha::RefundLostItemFeeRule->new; + $refundRule->set({ + branchcode => $branch, + refund => $refund + })->store; + } } -$template->param( refundLostItemFeeRules => scalar Koha::RefundLostItemFeeRules->search ) ; +my $refundLostItemFeeRule = Koha::RefundLostItemFeeRules->find({ branchcode => $branch }); +$template->param( + refundLostItemFeeRule => $refundLostItemFeeRule, + defaultRefundRule => Koha::RefundLostItemFeeRules->_default_rule +); my $branches = GetBranches(); my @branchloop; --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -560,56 +560,79 @@ for="tobranch">Clone these rules to: -

Lost item fee refund on return policy

+ [% IF current_branch == '*' %] +

Default lost item fee refund on return policy

+ [% ELSE %] +

Lost item fee refund on return policy for [% Branches.GetName(current_branch) %]

+ [% END %]

Specify the default policy for lost item fees on return.

- + + - - [% FOREACH refundLostItemFeeRule IN refundLostItemFeeRules %] - - - [% END %] - - - -
Library Refund lost item fee  
- [% IF refundLostItemFeeRule.branchcode == '*' %] - All - [% ELSE %] - [% Branches.GetName(refundLostItemFeeRule.branchcode) %] - [% END %] - - [% IF refundLostItemFeeRule.refund %] - Yes - [% ELSE %] - No - [% END %] + - [% IF refundLostItemFeeRule.branchcode != '*' %] - Delete - [% END %] -
- + -
--