X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_main.cgi;h=cce4f0d7d48ee1af1fb0c84b6d7ba086e72409f4;hb=4b67c9f8cfc9f944b7758e7e69ac1f9f188ffa47;hp=76cbe492843139c2d224fe1523e13668a4436c28;hpb=dbc85ed7e7020bd91f63cdb58039731e2abe44ca;p=freeside.git diff --git a/httemplate/search/cust_main.cgi b/httemplate/search/cust_main.cgi index 76cbe4928..cce4f0d7d 100755 --- a/httemplate/search/cust_main.cgi +++ b/httemplate/search/cust_main.cgi @@ -129,7 +129,10 @@ % 'select' => 'part_svc.*, COUNT(*) AS num_cust_svc', % 'table' => 'part_svc', % 'addl_from' => 'LEFT JOIN cust_svc USING ( svcpart )', -% 'extra_sql' => 'WHERE pkgnum = ? GROUP BY part_svc.svcpart', +% 'extra_sql' => 'WHERE pkgnum = ? '. +% ' GROUP BY '. join(', ', +% map "part_svc.$_", fields('part_svc') +% ), % 'extra_param' => [ [$cust_pkg->pkgnum,'int'] ], % }) % ) { @@ -327,10 +330,11 @@ my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" - unless $curuser->access_right('List all customers'); + unless $curuser->access_right('List all customers') + || $curuser->access_right('List customers'); my $conf = new FS::Conf; -my $maxrecords = $conf->config('maxsearchrecordsperpage'); +my $maxrecords = $conf->config('maxsearchrecordsperpage') || 100; # summarize more than this many services of the same svcpart my $large_pkg_size = $conf->config('cust_pkg-large_pkg_size') || 0; @@ -348,9 +352,11 @@ my(@cust_main, $sortby, $orderby); my @select = (); my @addl_headers = (); my @addl_cols = (); -if ( $cgi->param('browse') - || $cgi->param('otaker_on') - || $cgi->param('agentnum_on') +if ( ( $cgi->param('browse') + || $cgi->param('otaker_on') + || $cgi->param('agentnum_on') + ) + and $curuser->access_right('List all customers') ) { my %search = (); @@ -498,7 +504,7 @@ if ( $cgi->param('browse') ); } - @cust_main = grep { $_->num_ncancelled_pkgs || ! $_->num_pkgs } @cust_main + @cust_main = grep { $_->status ne 'cancelled' } @cust_main if ! $cgi->param('cancelled') && ( $cgi->param('showcancelledcustomers') eq '0' #see if it was set by me @@ -579,7 +585,7 @@ sub cardsearch { my($card)=$cgi->param('card'); $card =~ s/\D//g; - $card =~ /^(\d{13,16}|\d{8,9})$/ or errorpage(emt("Illegal card number")); + $card =~ /^(\d{13,19}|\d{8,9})$/ or errorpage(emt("Illegal card number")); my($payinfo)=$1; [ qsearch('cust_main',{'payinfo'=>$payinfo, 'payby'=>'CARD'}),