when searching locaitons, don't search historic locations by default, RT#73412
[freeside.git] / httemplate / search / report_cust_main.html
1 <& /elements/header.html, mt('Customer Report') &>
2
3 <FORM ACTION="cust_main.html" METHOD="GET">
4 <INPUT TYPE="hidden" NAME="magic" VALUE="bill">
5
6   <FONT CLASS="fsinnerbox-title"><% emt('Basic search options') %></FONT>
7   <TABLE CLASS="fsinnerbox">
8
9     <& /elements/tr-select-agent.html,
10                   'curr_value'    => scalar($cgi->param('agentnum')),
11                   'disable_empty' => 0,
12     &>
13
14     <& /elements/tr-select-sales.html,
15                   'curr_value'    => scalar($cgi->param('salesnum')),
16                   'pre_options'   => [ '' => 'all',
17                                        0  => '(none)', ],
18                   'disable_empty' => 1,
19                   'th' => 1,
20     &>
21
22     <& /elements/tr-select-cust_main-status.html,
23                   'label' => emt('Status'),
24     &>
25
26     <& /elements/tr-select-cust_class.html,
27                   'label'        => emt('Class'),
28                   'multiple'     => 1,
29                   'pre_options'  => [ '' => emt('(none)') ],
30                   'all_selected' => 1,
31     &>
32
33     <& /elements/tr-select-part_referral.html,
34                   'label'        => emt('Advertising Source'),
35                   'multiple'     => 1,
36                   #no, causes customers with disabled ones to disappear
37                   #'all_selected' => 1,
38     &>
39
40     <TR>
41         <TH ALIGN="right" VALIGN="center"><% mt('Signup date') |h %></TH>
42         <TD>
43         <TABLE>
44             <& /elements/tr-input-beginning_ending.html,
45                       prefix   => 'signupdate',
46                       layout   => 'horiz',
47             &>
48         </TABLE>
49         </TD>
50     </TR>
51
52 %    if ( $conf->exists('cust_main-enable_birthdate') ) {
53       <TR>
54           <TH ALIGN="right" VALIGN="center"><% mt('Date of Birth') |h %></TH>
55           <TD>
56           <TABLE>
57               <& /elements/tr-input-beginning_ending.html,
58                         prefix   => 'birthdate',
59                         layout   => 'horiz',
60               &>
61           </TABLE>
62           </TD>
63       </TR>
64 %   }
65
66 %    if ( $conf->exists('cust_main-enable_spouse_birthdate') ) {
67       <TR>
68           <TH ALIGN="right" VALIGN="center"><% mt('Spouse Date of Birth') |h %></TH>
69           <TD>
70           <TABLE>
71               <& /elements/tr-input-beginning_ending.html,
72                         prefix   => 'spouse_birthdate',
73                         layout   => 'horiz',
74               &>
75           </TABLE>
76           </TD>
77       </TR>
78 %   }
79
80 %    if ( $conf->exists('cust_main-enable_anniversary_date') ) {
81       <TR>
82           <TH ALIGN="right" VALIGN="center"><% mt('Anniversary Date') |h %></TH>
83           <TD>
84           <TABLE>
85               <& /elements/tr-input-beginning_ending.html,
86                         prefix   => 'anniversary_date',
87                         layout   => 'horiz',
88               &>
89           </TABLE>
90           </TD>
91       </TR>
92 %   }
93
94       <TR>
95         <TH ALIGN="right">Tags</TH>
96         <TD>
97             <& /elements/select-cust_tag.html,
98                           'cgi'         => $cgi,
99                           'is_report'   => 1,
100                           'multiple'    => 1,
101             &>
102           <DIV STYLE="display:inline-block; vertical-align:baseline">
103             <INPUT TYPE="radio" NAME="all_tags" VALUE="0" CHECKED> Any of these
104             <BR>
105             <INPUT TYPE="radio" NAME="all_tags" VALUE="1"> All of these
106           </DIV>
107         </TD>
108       </TR>
109
110   </TABLE>
111   <BR>
112
113   <FONT CLASS="fsinnerbox-title"><% emt('Package search options') %></FONT>
114   <TABLE CLASS="fsinnerbox">
115
116       <TR>
117
118         <TH ALIGN="right">With</TH>
119         <TD><SELECT NAME="any_pkg_status">
120               <OPTION VALUE="0">active packages
121               <OPTION VALUE="1">any status packages
122             </SELECT>
123         </TD>
124      </TR>
125
126         <TH ALIGN="right">of class</TH>
127         <TD>
128             <& /elements/select-pkg_class.html,
129                           'field'       => 'pkg_classnum',
130                           'multiple'    => 1,
131             &>
132           <DIV STYLE="display:inline-block; vertical-align:baseline">
133             <INPUT TYPE="radio" NAME="all_pkg_classnums" VALUE="0" CHECKED>
134               Any of these
135             <BR>
136             <INPUT TYPE="radio" NAME="all_pkg_classnums" VALUE="1">
137               All of these
138           </DIV>
139         </TD>
140       </TR>
141
142   </TABLE>
143   <BR>
144
145   <FONT CLASS="fsinnerbox-title"><% emt('Location search options') %></FONT>
146   <TABLE CLASS="fsinnerbox">
147
148     <TR>
149       <TH ALIGN="right" VALIGN="center"><% mt('Address') |h %></TH>
150       <TD><INPUT TYPE="text" NAME="address" SIZE=54></TD>
151     </TR>
152
153     <TR>
154       <TH ALIGN="right" VALIGN="center"><% mt('City') |h %></TH>
155       <TD>
156         <& /elements/city.html,
157              disable_empty => 0,
158              empty_label   => '(all)',
159              disable_text  => 1,
160         &>
161       </TD>
162     </TR>
163
164     <TR>
165       <TH ALIGN="right" VALIGN="center"><% mt('County') |h %></TH>
166       <TD>
167         <& /elements/select-county.html,
168              disable_empty => 0,
169              empty_label   => '(all)',
170         &>
171       </TD>
172     </TR>
173     
174     <TR>
175       <TH ALIGN="right" VALIGN="center"><% mt('State') |h %></TH>
176       <TD>
177         <& /elements/select-state.html,
178              disable_empty => 0,
179              empty_label   => '(all)',
180         &>
181       </TD>
182     </TR>
183     
184     <TR>
185       <TH ALIGN="right" VALIGN="center"><% mt('Zip') |h %></TH>
186       <TD><INPUT TYPE="text" NAME="zip" SIZE=12></TD>
187     </TR>
188
189     <TR>
190       <TH ALIGN="right" VALIGN="center"><% mt('Country') |h %></TH>
191       <TD>
192         <& /elements/select-country.html,
193              disable_empty       => 0,
194              state_disable_empty => 0,
195              state_empty_label   => '(all)',
196         &>
197       </TD>
198     </TR>
199
200     <TR>
201       <TH ALIGN="right" VALIGN="center"><% mt('Search historical addresses') %></TH>
202       <TD><INPUT TYPE="checkbox" NAME="location_history" VALUE="1"></TD>
203
204   </TABLE>
205   <BR>
206
207   <FONT CLASS="fsinnerbox-title"><% emt('Billing search options') %></FONT>
208   <TABLE CLASS="fsinnerbox">
209
210 % my @exempt_groups = grep /\S/, $conf->config('tax-cust_exempt-groups');
211 % unless ( @exempt_groups ) { 
212
213 %   #falze laziness with With/Without postal mail invoices
214      <TR>
215       <TH ALIGN="right" VALIGN="center"><% mt('Tax exempt') |h %></TH>
216         <TD><INPUT TYPE="checkbox" NAME="tax" ID="tax" onClick="tax_changed();"></TD>
217     </TR>
218
219     <TR>
220       <TH ALIGN="right" VALIGN="center"><% mt('Not tax exempt') |h %></TH>
221         <TD><INPUT TYPE="checkbox" NAME="no_tax" ID="no_tax" onClick="no_tax_changed();"></TD>
222     </TR>
223
224     <SCRIPT TYPE="text/javascript">
225       function  tax_changed() {
226         if ( document.getElementById('tax').checked == true ) {
227           document.getElementById('no_tax').checked = false;
228         }
229       }
230       function no_tax_changed() {
231         if ( document.getElementById('no_tax').checked == true ) {
232           document.getElementById('tax').checked = false;
233         }
234       }
235     </SCRIPT>
236 % }
237
238     <TR>
239       <TH ALIGN="right"><% mt('Invoice terms') |h %></TH>
240       <TD>
241 %       my @agentnums = $FS::CurrentUser::CurrentUser->agentnums;
242 %       my $agentnum = scalar(@agentnums) == 1 ? $agentnums[0] : '';
243         <& /elements/select-terms.html,
244              'pre_options' => [ '' => emt('all') ],
245              'empty_value' => 'NULL',
246              'agentnum'    => $agentnum,
247         &>
248       </TD>
249     </TR>
250     
251     <& /elements/tr-input-lessthan_greaterthan.html,
252                   label   => emt('Current balance'),
253                   field   => 'current_balance',
254     &>
255
256     <TR>
257       <TH ALIGN="right" VALIGN="center"><% mt('With invoicing email address(es)') |h %></TH>
258         <TD><INPUT TYPE="checkbox" NAME="with_email"></TD>
259     </TR>
260
261     <TR>
262       <TH ALIGN="right" VALIGN="center"><% mt('With postal mail invoices') |h %></TH>
263         <TD><INPUT TYPE="checkbox" NAME="POST" ID="POST" onClick="POST_changed();"></TD>
264     </TR>
265
266     <TR>
267       <TH ALIGN="right" VALIGN="center"><% mt('Without postal mail invoices') |h %></TH>
268         <TD><INPUT TYPE="checkbox" NAME="no_POST" ID="no_POST" onClick="no_POST_changed();"></TD>
269     </TR>
270
271     <SCRIPT TYPE="text/javascript">
272       function POST_changed() {
273         if ( document.getElementById('POST').checked == true ) {
274           document.getElementById('no_POST').checked = false;
275         }
276       }
277       function no_POST_changed() {
278         if ( document.getElementById('no_POST').checked == true ) {
279           document.getElementById('POST').checked = false;
280         }
281       }
282     </SCRIPT>
283
284   </TABLE>
285   <BR>
286
287   <FONT CLASS="fsinnerbox-title"><% emt('Display options') %></FONT>
288   <TABLE CLASS="fsinnerbox">
289
290     <& /elements/tr-select-cust-fields.html &>
291
292     <TR>
293       <TH ALIGN="right" VALIGN="center"><% mt('Add package columns') |h %></TH>
294         <TD><INPUT TYPE="checkbox" NAME="flattened_pkgs"></TD>
295     </TR>
296
297     <TR>
298       <TH ALIGN="right" VALIGN="center"><% mt('Include cancelled packages') |h %></TH>
299         <TD><INPUT TYPE="checkbox" NAME="cancelled_pkgs"></TD>
300     </TR>
301
302   </TABLE>
303
304 <BR>
305 <INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
306
307 </FORM>
308
309 <& /elements/footer.html &>
310 <%init>
311
312 die "access denied"
313   unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
314
315 my $conf = new FS::Conf;
316
317 </%init>