%doc>
In order_pkg.html or similar:
<& /elements/tr-select-pkg-discount.html,
curr_value_setup => ($cgi->param('setup_discountnum') || ''),
curr_value_recur => ($cgi->param('recur_discountnum') || ''),
disable_setup => 0,
disable_recur => 0,
&>
This provides the following:
- If the user can waive setup fees or apply a discount, they get a
select box for the setup discount, with "Waive setup fee" as an option.
- If they can custom discount, they will also get "Custom discount" as an
option. If selected, this will show fields to enter the custom discount
amount/percentage.
- If they can waive setup fees but NOT apply a discount, they only get a
checkbox to waive setup fee.
- Same for recurring fee, but without the "waive setup fee" stuff, obviously.
- Custom recurring discounts also have an option for a duration in months.
"disable_setup" locks the setup discount, but will still show a static
description if curr_value_setup is set. Likewise "disable_recur".
%doc>
% # SETUP DISCOUNT
% # select-discount knows about the "custom discount" ACL
% if ( $curuser->access_right('Discount customer package')
% and !$opt{disable_setup} )
% {
% my $pre_options = [ '' => '(none)' ];
% if ( $curuser->access_right('Waive setup fee') ) {
% push @$pre_options, -2 => 'Waive setup fee';
% }
<& tr-td-label.html, label => emt('Setup fee') &>
<& select-discount.html,
field => 'setup_discountnum',
id => 'setup_discountnum',
hashref => { disabled => '',
setup => 'Y'
},
extra_sql => ' AND (percent > 0 OR months = 1)',
curr_value => $opt{'curr_value_setup'},
disable_empty => 1,
pre_options => $pre_options,
&>