1 <& /elements/header.html, mt('Customer Report') &>
3 <FORM ACTION="cust_main.html" METHOD="GET">
4 <INPUT TYPE="hidden" NAME="magic" VALUE="bill">
6 <TABLE BGCOLOR="#cccccc" CELLSPACING=0>
9 <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Search options') |h %></FONT></TH>
12 <& /elements/tr-select-agent.html,
13 'curr_value' => scalar($cgi->param('agentnum')),
17 <& /elements/tr-select-sales.html,
18 'curr_value' => scalar($cgi->param('salesnum')),
19 'pre_options' => [ '' => 'all',
24 <& /elements/tr-select-cust_main-status.html,
25 'label' => emt('Status'),
28 <& /elements/tr-select-cust_class.html,
29 'label' => emt('Class'),
31 'pre_options' => [ '' => emt('(none)') ],
35 <& /elements/tr-select-part_referral.html,
36 'label' => emt('Advertising Source'),
38 #no, causes customers with disabled ones to disappear
43 <TD ALIGN="right" VALIGN="center"><% mt('Address') |h %></TD>
44 <TD><INPUT TYPE="text" NAME="address" SIZE=54></TD>
48 <TD ALIGN="right" VALIGN="center"><% mt('Zip') |h %></TD>
49 <TD><INPUT TYPE="text" NAME="zip" SIZE=12></TD>
53 <TD ALIGN="right" VALIGN="center"><% mt('Signup date') |h %></TD>
56 <& /elements/tr-input-beginning_ending.html,
57 prefix => 'signupdate',
64 % if ( $conf->exists('cust_main-enable_birthdate') ) {
66 <TD ALIGN="right" VALIGN="center"><% mt('Date of Birth') |h %></TD>
69 <& /elements/tr-input-beginning_ending.html,
70 prefix => 'birthdate',
78 % if ( $conf->exists('cust_main-enable_spouse_birthdate') ) {
80 <TD ALIGN="right" VALIGN="center"><% mt('Spouse Date of Birth') |h %></TD>
83 <& /elements/tr-input-beginning_ending.html,
84 prefix => 'spouse_birthdate',
92 % if ( $conf->exists('cust_main-enable_anniversary_date') ) {
94 <TD ALIGN="right" VALIGN="center"><% mt('Anniversary Date') |h %></TD>
97 <& /elements/tr-input-beginning_ending.html,
98 prefix => 'anniversary_date',
107 <TD ALIGN="right">Tags</TD>
109 <& /elements/select-cust_tag.html,
114 <DIV STYLE="display:inline-block; vertical-align:baseline">
115 <INPUT TYPE="radio" NAME="all_tags" VALUE="0" CHECKED> Any of these
117 <INPUT TYPE="radio" NAME="all_tags" VALUE="1"> All of these
123 <TD ALIGN="right">With package of class</TD>
125 <& /elements/select-pkg_class.html,
126 'field' => 'pkg_classnum',
129 <DIV STYLE="display:inline-block; vertical-align:baseline">
130 <INPUT TYPE="radio" NAME="all_pkg_classnums" VALUE="0" CHECKED>
133 <INPUT TYPE="radio" NAME="all_pkg_classnums" VALUE="1">
139 <& /elements/tr-select-payby.html,
140 'payby_type' => 'cust',
146 <TD ALIGN="right"><% mt('Payment expiration before') |h %></TD>
148 <SELECT NAME="paydate_month" DISABLED>
149 % foreach my $month ( 1 .. 12 ) {
150 <OPTION VALUE="<% $month %>"><% $month %></OPTION>
154 <SELECT NAME="paydate_year" onChange="paydate_year_changed(this);">
155 <OPTION VALUE=""></OPTION>
156 % my $lastyear = (localtime(time))[5] + 1899;
157 % foreach my $year ( $lastyear .. $lastyear+12 ) {
158 <OPTION VALUE="<% $year %>"><% $year %></OPTION>
164 <SCRIPT TYPE="text/javascript">
165 function paydate_year_changed(what) {
166 var value = what.options[what.selectedIndex].value;
167 var month_select = what.form.paydate_month;
169 month_select.disabled = true;
171 month_select.disabled = false;
177 <TD ALIGN="right"><% mt('Invoice terms') |h %></TD>
179 <& /elements/select-terms.html,
180 'pre_options' => [ '' => emt('all') ],
181 'empty_value' => 'NULL',
186 <& /elements/tr-input-lessthan_greaterthan.html,
187 label => emt('Current balance'),
188 field => 'current_balance',
192 <TD ALIGN="right" VALIGN="center"><% mt('With email address(es)') |h %></TD>
193 <TD><INPUT TYPE="checkbox" NAME="with_email"></TD>
197 <TD ALIGN="right" VALIGN="center"><% mt('With postal mail invoices') |h %></TD>
198 <TD><INPUT TYPE="checkbox" NAME="POST" ID="POST" onClick="POST_changed();"></TD>
202 <TD ALIGN="right" VALIGN="center"><% mt('Without postal mail invoices') |h %></TD>
203 <TD><INPUT TYPE="checkbox" NAME="no_POST" ID="no_POST" onClick="no_POST_changed();"></TD>
206 <SCRIPT TYPE="text/javascript">
207 function POST_changed() {
208 if ( document.getElementById('POST').checked == true ) {
209 document.getElementById('no_POST').checked = false;
212 function no_POST_changed() {
213 if ( document.getElementById('no_POST').checked == true ) {
214 document.getElementById('POST').checked = false;
220 <TH CLASS="background" COLSPAN=2> </TH>
224 <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1"><% mt('Display options') |h %></FONT></TH>
226 <& /elements/tr-select-cust-fields.html &>
229 <TD ALIGN="right" VALIGN="center"><% mt('Add package columns') |h %></TD>
230 <TD><INPUT TYPE="checkbox" NAME="flattened_pkgs"></TD>
234 <TD ALIGN="right" VALIGN="center"><% mt('Include cancelled packages') |h %></TD>
235 <TD><INPUT TYPE="checkbox" NAME="cancelled_pkgs"></TD>
241 <INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
245 <& /elements/footer.html &>
249 unless $FS::CurrentUser::CurrentUser->access_right('Advanced customer search');
251 my $conf = new FS::Conf;