1 % if ( scalar(@{ $opt{'discount'} }) == 0
2 % && ! $curuser->access_right('Custom discount customer package') ) {
4 <INPUT TYPE="hidden" NAME="<% $name %>" VALUE="<% $discountnum %>">
9 <TD ALIGN="right" WIDTH="275"><% $opt{'label'} || '<B>'.emt('Discount').'</B>' %></TD>
11 <% include( '/elements/select-discount.html',
12 'curr_value' => $discountnum,
13 'onchange' => $onchange,
20 % # a weird kind of false laziness w/edit/discount.html
22 % # <INPUT TYPE="hidden" NAME="<% $name %>_disabled" VALUE="Y">
25 <% include( '/elements/tr-select.html',
26 'label' => '<B>Discount Type</B>',
27 'field' => $name. '__type',
28 'id' => $name. '__type',
29 'options' => \@_type_options,
30 'curr_value' => scalar($cgi->param($name.'__type')),
31 'onchange' => $name.'__type_changed',
32 'colspan' => $opt{'colspan'},
36 <% include( '/elements/tr-input-money.html',
37 'label' => '<B>Discount Amount </B>',
38 'field' => $name. '_amount',
39 'id' => $name. '_amount',
41 'curr_value' => scalar($cgi->param($name.'_amount')),
42 'colspan' => $opt{'colspan'},
46 <% include( '/elements/tr-input-percentage.html',
47 'label' => '<B>Discount Percentage</B>',
48 'field' => $name. '_percent',
49 'id' => $name. '_percent',
51 'curr_value' => scalar($cgi->param($name.'_percent')),
52 'colspan' => $opt{'colspan'},
56 % if ( $opt{'setup_only'} ) {
57 <& /elements/hidden.html,
58 'field' => $name.'_setup',
59 'id' => $name.'_setup',
62 % } else { # normal case, allow the user to choose
63 <% include( '/elements/tr-input-text.html',
64 'label' => '<B>Discount duration (months)</B>',
65 'field' => $name. '_months',
66 'id' => $name. '_months',
68 'postfix' => qq(<FONT SIZE="-1" ID="${name}_months_postfix"><I>(blank for non-expiring discount)</I></FONT>),
69 'curr_value' => scalar($cgi->param($name.'_months')),
70 'colspan' => $opt{'colspan'},
74 <% include( '/elements/tr-checkbox.html',
75 'label' => '<B>Apply discount to setup fee</B>',
76 'field' => $name.'_setup',
77 'id' => $name.'_setup',
78 'curr_value' => scalar($cgi->param($name.'_setup')),
80 'colspan' => $opt{'colspan'},
85 %# <% include( '/elements/tr-checkbox.html',
86 %# 'label' => '<B>Apply discount to add-on packages</B>',
87 %# 'field' => $name.'_linked',
88 %# 'id' => $name.'_linked',
89 %# 'curr_value' => scalar($cgi->param($name.'_linked')),
91 %# 'colspan' => $opt{'colspan'},
95 <SCRIPT TYPE="text/javascript">
97 % my $ge = 'document.getElementById';
99 function <% $name %>_changed(what) {
100 var <% $name %> = what.options[what.selectedIndex].value;
102 if ( <% $name %> == '-1' && ! what.disabled ) {
103 <% $ge %>('<% $name %>__type_label0').style.display = '';
104 <% $ge %>('<% $name %>__type_label0').style.visibility = '';
105 <% $ge %>('<% $name %>__type').style.display = '';
106 <% $ge %>('<% $name %>__type').style.visibility = '';
108 <% $name %>__type_changed( <% $ge %>('<% $name %>__type') );
110 <% $ge %>('<% $name %>_months_label0').style.display = '';
111 <% $ge %>('<% $name %>_months_label0').style.visibility = '';
112 <% $ge %>('<% $name %>_months').style.display = '';
113 <% $ge %>('<% $name %>_months').style.visibility = '';
114 <% $ge %>('<% $name %>_months_postfix').style.display = '';
115 <% $ge %>('<% $name %>_months_postfix').style.visibility = '';
116 <% $ge %>('<% $name %>_setup_label0').style.display = '';
117 <% $ge %>('<% $name %>_setup_label0').style.visibility = '';
118 <% $ge %>('<% $name %>_setup').style.display = '';
119 <% $ge %>('<% $name %>_setup').style.visibility = '';
122 <% $ge %>('<% $name %>__type_label0').style.display = 'none';
123 <% $ge %>('<% $name %>__type_label0').style.visibility = 'hidden';
124 <% $ge %>('<% $name %>__type').style.display = 'none';
125 <% $ge %>('<% $name %>__type').style.visibility = 'hidden';
127 <% $name %>__type_changed( <% $ge %>('<% $name %>__type') );
129 <% $ge %>('<% $name %>_months_label0').style.display = 'none';
130 <% $ge %>('<% $name %>_months_label0').style.visibility = 'hidden';
131 <% $ge %>('<% $name %>_months').style.display = 'none';
132 <% $ge %>('<% $name %>_months').style.visibility = 'hidden';
133 <% $ge %>('<% $name %>_months_postfix').style.display = 'none';
134 <% $ge %>('<% $name %>_months_postfix').style.visibility = 'hidden';
136 <% $ge %>('<% $name %>_setup_label0').style.display = 'none';
137 <% $ge %>('<% $name %>_setup_label0').style.visibility = 'hidden';
138 <% $ge %>('<% $name %>_setup').style.display = 'none';
139 <% $ge %>('<% $name %>_setup').style.visibility = 'hidden';
145 function <% $name %>__type_changed(what) {
146 var <% $name %>__type = what.options[what.selectedIndex].value;
148 if ( <% $name %>__type == '<% $select %>' || what.style.display == 'none' ) {
149 <% $ge %>('<% $name %>_amount_label0').style.display = 'none';
150 <% $ge %>('<% $name %>_amount_label0').style.visibility = 'hidden';
151 <% $ge %>('<% $name %>_amount_input0').style.display = 'none';
152 <% $ge %>('<% $name %>_amount_input0').style.visibility = 'hidden';
153 <% $ge %>('<% $name %>_percent_label0').style.display = 'none';
154 <% $ge %>('<% $name %>_percent_label0').style.visibility = 'hidden';
155 <% $ge %>('<% $name %>_percent_input0').style.display = 'none';
156 <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden';
157 // <% $ge %>('<% $name %>_linked_label0').style.display = 'none';
158 // <% $ge %>('<% $name %>_linked_label0').style.visibility = 'hidden';
159 // <% $ge %>('<% $name %>_linked').style.display = 'none';
160 // <% $ge %>('<% $name %>_linked').style.visibility = 'hidden';
161 } else if ( <% $name %>__type == 'Amount' ) {
162 <% $ge %>('<% $name %>_amount_label0').style.display = '';
163 <% $ge %>('<% $name %>_amount_label0').style.visibility = '';
164 <% $ge %>('<% $name %>_amount_input0').style.display = '';
165 <% $ge %>('<% $name %>_amount_input0').style.visibility = '';
166 <% $ge %>('<% $name %>_percent_label0').style.display = 'none';
167 <% $ge %>('<% $name %>_percent_label0').style.visibility = 'hidden';
168 <% $ge %>('<% $name %>_percent_input0').style.display = 'none';
169 <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden';
170 <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden';
171 // <% $ge %>('<% $name %>_linked_label0').style.display = 'none';
172 // <% $ge %>('<% $name %>_linked_label0').style.visibility = 'hidden';
173 // <% $ge %>('<% $name %>_linked').style.display = 'none';
174 // <% $ge %>('<% $name %>_linked').style.visibility = 'hidden';
175 } else if ( <% $name %>__type == 'Percentage' ) {
176 <% $ge %>('<% $name %>_amount_label0').style.display = 'none';
177 <% $ge %>('<% $name %>_amount_label0').style.visibility = 'hidden';
178 <% $ge %>('<% $name %>_amount_input0').style.display = 'none';
179 <% $ge %>('<% $name %>_amount_input0').style.visibility = 'hidden';
180 <% $ge %>('<% $name %>_percent_label0').style.display = '';
181 <% $ge %>('<% $name %>_percent_label0').style.visibility = '';
182 <% $ge %>('<% $name %>_percent_input0').style.display = '';
183 <% $ge %>('<% $name %>_percent_input0').style.visibility = '';
184 <% $ge %>('<% $name %>_percent_input0').style.visibility = '';
185 // <% $ge %>('<% $name %>_linked_label0').style.display = '';
186 // <% $ge %>('<% $name %>_linked_label0').style.visibility = '';
187 // <% $ge %>('<% $name %>_linked').style.display = '';
188 // <% $ge %>('<% $name %>_linked').style.visibility = '';
193 <% $name %>_changed(<% $ge %>('<% $name %>'));
201 my $cgi = $opt{'cgi'};
202 my $discountnum = $opt{'curr_value'} || $opt{'value'};
204 $opt{'discount'} ||= [ qsearch( 'discount', { disabled=>'' } ) ];
206 my $curuser = $FS::CurrentUser::CurrentUser;
208 my $name = $opt{'element_name'} || $opt{'field'} || 'discountnum';
210 my $select = 'Select discount type';
212 my @_type_options = ( 'Amount', 'Percentage' );
213 unshift @_type_options, $select;
215 my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : '';
217 my $onchange = ( $opt{'onchange'} ? delete($opt{'onchange'}).';' : '' ).
218 $name.'_changed(this);';