<%
-#<!-- $Id: cust_main.cgi,v 1.4 2001-08-28 16:58:08 ivan Exp $ -->
+#<!-- $Id: cust_main.cgi,v 1.10 2001-10-10 06:22:22 thalakan Exp $ -->
use strict;
#use vars qw( $conf %ncancelled_pkgs %all_pkgs $cgi @cust_main $sortby );
$conf = new FS::Conf;
-if ( $cgi->keywords ) {
- my($query)=$cgi->keywords;
+if ( $cgi->param('browse') ) {
+ my $query = $cgi->param('browse');
if ( $query eq 'custnum' ) {
$sortby=\*custnum_sort;
@cust_main=qsearch('cust_main',{});
$sortby=\*company_sort;
@cust_main=qsearch('cust_main',{});
} else {
- die "unknown query string $query";
+ die "unknown browse field $query";
}
} else {
@cust_main=();
}
@cust_main = grep { $_->ncancelled_pkgs || ! $_->all_pkgs } @cust_main
- if $conf->exists('hidecancelledcustomers');
+ if $cgi->param('showcancelledcustomers') eq '0' #see if it was set by me
+ || ( $conf->exists('hidecancelledcustomers')
+ && ! $cgi->param('showcancelledcustomers') );
if ( $conf->exists('hidecancelledpackages' ) ) {
%all_pkgs = map { $_->custnum => [ $_->ncancelled_pkgs ] } @cust_main;
} else {
my($total)=scalar(@cust_main);
print $cgi->header( '-expires' => 'now' ), header("Customer Search Results",menubar(
'Main Menu', popurl(2)
- )), "$total matching customers found";
+ )), "$total matching customers found ";
+ if ( $cgi->param('showcancelledcustomers') eq '0' #see if it was set by me
+ || ( $conf->exists('hidecancelledcustomers')
+ && ! $cgi->param('showcancelledcustomers')
+ )
+ ) {
+ $cgi->param('showcancelledcustomers', 1);
+ print qq!( <a href="!. $cgi->self_url. qq!">show cancelled customers</a> )!;
+ } else {
+ $cgi->param('showcancelledcustomers', 0);
+ print qq!( <a href="!. $cgi->self_url. qq!">hide cancelled customers</a> )!;
+ }
if ( $cgi->param('referral_custnum') ) {
$cgi->param('referral_custnum') =~ /^(\d+)$/
or eidiot "Illegal referral_custnum\n";
} else {
- my(%last);
+ &FS::cust_main::check_and_rebuild_fuzzyfiles;
+ my $all_last = &FS::cust_main::all_last;
- my(@all_last)=map $_->getfield('last'), qsearch('cust_main',{});
- push @all_last, grep $_, map $_->getfield('ship_last'), qsearch('cust_main',{})
- if defined dbdef->table('cust_main')->column('ship_last');
+ my %last;
if ($last_type{'Fuzzy'}) {
- foreach ( amatch($last, [ qw(i) ], @all_last) ) {
+ foreach ( amatch($last, [ qw(i) ], @$all_last) ) {
$last{$_}++;
}
}
} else {
- my(%company);
- my(@all_company)=map $_->company, qsearch('cust_main',{});
- push @all_company, grep $_, map $_->getfield('ship_company'), qsearch('cust_main',{})
- if defined dbdef->table('cust_main')->column('ship_last');
+ &FS::cust_main::check_and_rebuild_fuzzyfiles;
+ my $all_company = &FS::cust_main::all_company;
+ my %company;
if ($company_type{'Fuzzy'}) {
- foreach ( amatch($company, [ qw(i) ], @all_company ) ) {
+ foreach ( amatch($company, [ qw(i) ], @$all_company ) ) {
$company{$_}++;
}
}