Merge branch 'xss_fixes' of https://github.com/mcreenan/Freeside
[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   <TABLE BGCOLOR="#cccccc" CELLSPACING=0>
7
8     <TR>
9       <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Search options') |h %></FONT></TH>
10     </TR>
11
12     <& /elements/tr-select-agent.html,
13                   'curr_value'    => scalar($cgi->param('agentnum')),
14                   'disable_empty' => 0,
15     &>
16
17     <& /elements/tr-select-cust_main-status.html,
18                   'label' => emt('Status'),
19     &>
20
21     <& /elements/tr-select-cust_class.html,
22                   'label'        => emt('Class'),
23                   'multiple'     => 1,
24                   'pre_options'  => [ '' => emt('(none)') ],
25                   'all_selected' => 1,
26     &>
27
28     <& /elements/tr-select-part_referral.html,
29                   'label'        => emt('Advertising Source'),
30                   'multiple'     => 1,
31                   #no, causes customers with disabled ones to disappear
32                   #'all_selected' => 1,
33     &>
34
35     <TR>
36       <TD ALIGN="right" VALIGN="center"><% mt('Address') |h %></TD>
37       <TD><INPUT TYPE="text" NAME="address" SIZE=54></TD>
38     </TR>
39     
40     <TR>
41       <TD ALIGN="right" VALIGN="center"><% mt('Zip') |h %></TD>
42       <TD><INPUT TYPE="text" NAME="zip" SIZE=12></TD>
43     </TR>
44
45     <TR>
46         <TD ALIGN="right" VALIGN="center"><% mt('Signup date') |h %></TD>
47         <TD>
48         <TABLE>
49             <& /elements/tr-input-beginning_ending.html,
50                       prefix   => 'signupdate',
51                       layout   => 'horiz',
52             &>
53         </TABLE>
54         </TD>
55     </TR>
56
57 %    if ( $conf->exists('cust_main-enable_birthdate') ) {
58       <TR>
59           <TD ALIGN="right" VALIGN="center"><% mt('Date of Birth') |h %></TD>
60           <TD>
61           <TABLE>
62               <& /elements/tr-input-beginning_ending.html,
63                         prefix   => 'birthdate',
64                         layout   => 'horiz',
65               &>
66           </TABLE>
67           </TD>
68       </TR>
69 %   }
70
71 %    if ( $conf->exists('cust_main-enable_spouse_birthdate') ) {
72       <TR>
73           <TD ALIGN="right" VALIGN="center"><% mt('Spouse Date of Birth') |h %></TD>
74           <TD>
75           <TABLE>
76               <& /elements/tr-input-beginning_ending.html,
77                         prefix   => 'spouse_birthdate',
78                         layout   => 'horiz',
79               &>
80           </TABLE>
81           </TD>
82       </TR>
83 %   }
84
85 %    if ( $conf->exists('cust_main-enable_anniversary_date') ) {
86       <TR>
87           <TD ALIGN="right" VALIGN="center"><% mt('Anniversary Date') |h %></TD>
88           <TD>
89           <TABLE>
90               <& /elements/tr-input-beginning_ending.html,
91                         prefix   => 'anniversary_date',
92                         layout   => 'horiz',
93               &>
94           </TABLE>
95           </TD>
96       </TR>
97 %   }
98
99       <TR>
100         <TD ALIGN="right">Tags</TD>
101         <TD>
102             <& /elements/select-cust_tag.html,
103                           'cgi'         => $cgi,
104                           'is_report'   => 1,
105                           'multiple'    => 1,
106             &>
107           <DIV STYLE="display:inline-block; vertical-align:baseline">
108             <INPUT TYPE="radio" NAME="all_tags" VALUE="0" CHECKED> Any of these
109             <BR>
110             <INPUT TYPE="radio" NAME="all_tags" VALUE="1"> All of these
111           </DIV>
112         </TD>
113       </TR>
114
115     <& /elements/tr-select-payby.html,
116                   'payby_type'   => 'cust',
117                   'multiple'     => 1,
118                   'all_selected' => 1,
119     &>
120
121     <TR>
122       <TD ALIGN="right"><% mt('Payment expiration before') |h %></TD>
123       <TD>
124         <SELECT NAME="paydate_month" DISABLED>
125 %         foreach my $month ( 1 .. 12 ) {
126             <OPTION VALUE="<% $month %>"><% $month %></OPTION>
127 %         }
128         </SELECT>
129         /
130         <SELECT NAME="paydate_year" onChange="paydate_year_changed(this);">
131           <OPTION VALUE=""></OPTION>
132 %         my $lastyear = (localtime(time))[5] + 1899;
133 %         foreach my $year ( $lastyear .. $lastyear+12 ) {
134             <OPTION VALUE="<% $year %>"><% $year %></OPTION>
135 %         }
136         </SELECT>
137       </TD>
138     </TR>
139
140     <SCRIPT TYPE="text/javascript">
141       function paydate_year_changed(what) {
142         var value = what.options[what.selectedIndex].value;
143         var month_select = what.form.paydate_month;
144         if ( value == '' ) {
145           month_select.disabled = true;
146         } else {
147           month_select.disabled = false;
148         }
149       }
150     </SCRIPT>
151  
152     <TR>
153       <TD ALIGN="right"><% mt('Invoice terms') |h %></TD>
154       <TD>
155         <& /elements/select-terms.html,
156                       'pre_options' => [ '' => emt('all') ],
157                       'empty_value' => 'NULL',
158         &>
159       </TD>
160     </TR>
161     
162     <& /elements/tr-input-lessthan_greaterthan.html,
163                   label   => emt('Current balance'),
164                   field   => 'current_balance',
165     &>
166
167     <TR>
168       <TD ALIGN="right" VALIGN="center"><% mt('Without census tract') |h %></TD>
169         <TD><INPUT TYPE="checkbox" NAME="no_censustract"></TD>
170     </TR>
171
172 %   if ( $conf->exists('enable_taxproducts') ) {
173
174       <TR>
175         <TD ALIGN="right" VALIGN="center"><% mt('With hardcoded tax location') |h %></TD>
176           <TD><INPUT TYPE="checkbox" NAME="with_geocode"></TD>
177       </TR>
178
179 %   }
180
181     <TR>
182       <TD ALIGN="right" VALIGN="center"><% mt('With email address(es)') |h %></TD>
183         <TD><INPUT TYPE="checkbox" NAME="with_email"></TD>
184     </TR>
185
186     <TR>
187       <TD ALIGN="right" VALIGN="center"><% mt('With postal mail invoices') |h %></TD>
188         <TD><INPUT TYPE="checkbox" NAME="POST" ID="POST" onClick="POST_changed();"></TD>
189     </TR>
190
191     <TR>
192       <TD ALIGN="right" VALIGN="center"><% mt('Without postal mail invoices') |h %></TD>
193         <TD><INPUT TYPE="checkbox" NAME="no_POST" ID="no_POST" onClick="no_POST_changed();"></TD>
194     </TR>
195
196     <SCRIPT TYPE="text/javascript">
197       function POST_changed() {
198         if ( document.getElementById('POST').checked == true ) {
199           document.getElementById('no_POST').checked = false;
200         }
201       }
202       function no_POST_changed() {
203         if ( document.getElementById('no_POST').checked == true ) {
204           document.getElementById('POST').checked = false;
205         }
206       }
207     </SCRIPT>
208
209     <TR>
210       <TH CLASS="background" COLSPAN=2>&nbsp;</TH>
211     </TR>
212
213     <TR>
214       <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Display options') |h %></FONT></TH>
215     </TR>
216     <& /elements/tr-select-cust-fields.html &>
217
218     <TR>
219       <TD ALIGN="right" VALIGN="center"><% mt('Add package columns') |h %></TD>
220         <TD><INPUT TYPE="checkbox" NAME="flattened_pkgs"></TD>
221     </TR>
222
223     <TR>
224       <TD ALIGN="right" VALIGN="center"><% mt('Include cancelled packages') |h %></TD>
225         <TD><INPUT TYPE="checkbox" NAME="cancelled_pkgs"></TD>
226     </TR>
227
228   </TABLE>
229
230 <BR>
231 <INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
232
233 </FORM>
234
235 <& /elements/footer.html &>
236 <%init>
237
238 die "access denied"
239   unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
240
241 my $conf = new FS::Conf;
242
243 </%init>