summaryrefslogtreecommitdiff
path: root/httemplate/search/svc_acct.cgi
diff options
context:
space:
mode:
authorivan <ivan>2006-06-19 02:33:52 +0000
committerivan <ivan>2006-06-19 02:33:52 +0000
commitc0e8da2f1e89729efa1032241e4239765a296514 (patch)
tree68af748a3dc0c983e3ed255ad1bc05e9bf2eb8e7 /httemplate/search/svc_acct.cgi
parentbb65b62d3d68ac0788f230fe2e35ebe1913fc0f5 (diff)
agent virtualization, take one (stuff from "inactive" changeset snuck into cust_main.pm and the package reporting changeset in search/cust_pkg.cgi here too)
Diffstat (limited to 'httemplate/search/svc_acct.cgi')
-rwxr-xr-xhttemplate/search/svc_acct.cgi24
1 files changed, 13 insertions, 11 deletions
diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi
index b14591958..ef68ba05e 100755
--- a/httemplate/search/svc_acct.cgi
+++ b/httemplate/search/svc_acct.cgi
@@ -5,11 +5,9 @@ my $orderby = 'ORDER BY svcnum';
my($query)=$cgi->keywords;
$query ||= ''; #to avoid use of unitialized value errors
-my $cjoin = '';
my @extra_sql = ();
if ( $query =~ /^UN_(.*)$/ ) {
$query = $1;
- $cjoin = 'LEFT JOIN cust_svc USING ( svcnum )';
push @extra_sql, 'pkgnum IS NULL';
}
@@ -24,7 +22,6 @@ if ( $query eq 'svcnum' ) {
push @extra_sql, "popnum = $1";
$orderby = "ORDER BY LOWER(username)";
} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
- $cjoin ||= 'LEFT JOIN cust_svc USING ( svcnum )';
push @extra_sql, "svcpart = $1";
$orderby = "ORDER BY uid";
#$orderby = "ORDER BY svcnum";
@@ -72,12 +69,20 @@ if ( $query eq 'svcnum' ) {
}
+my $addl_from = ' LEFT JOIN cust_svc USING ( svcnum ) '.
+ ' LEFT JOIN part_svc USING ( svcpart ) '.
+ ' LEFT JOIN cust_pkg USING ( pkgnum ) '.
+ ' LEFT JOIN cust_main USING ( custnum ) ';
+
+#here is the agent virtualization
+push @extra_sql, $FS::CurrentUser::CurrentUser->agentnums_sql;
+
my $extra_sql =
scalar(@extra_sql)
? ' WHERE '. join(' AND ', @extra_sql )
: '';
-my $count_query = "SELECT COUNT(*) FROM svc_acct $cjoin $extra_sql";
+my $count_query = "SELECT COUNT(*) FROM svc_acct $addl_from $extra_sql";
#if ( keys %svc_acct ) {
# $count_query .= ' WHERE '.
# join(' AND ', map "$_ = ". dbh->quote($svc_acct{$_}),
@@ -94,10 +99,7 @@ my $sql_query = {
FS::UI::Web::cust_sql_fields(),
),
'extra_sql' => "$extra_sql $orderby",
- 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '.
- ' LEFT JOIN part_svc USING ( svcpart ) '.
- ' LEFT JOIN cust_pkg USING ( pkgnum ) '.
- ' LEFT JOIN cust_main USING ( custnum ) ',
+ 'addl_from' => $addl_from,
};
my $link = [ "${p}view/svc_acct.cgi?", 'svcnum' ];
@@ -117,21 +119,21 @@ my $link_cust = sub {
'count_query' => $count_query,
'redirect' => $link,
'header' => [ '#',
+ 'Service',
'Account',
'UID',
- 'Service',
FS::UI::Web::cust_header(),
],
'fields' => [ 'svcnum',
+ 'svc',
'email',
'uid',
- 'svc',
\&FS::UI::Web::cust_fields,
],
'links' => [ $link,
$link,
$link,
- '',
+ $link,
( map { $link_cust }
FS::UI::Web::cust_header()
),