X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_acct.cgi;h=f1b8b800b3d6120be05abf387e898f9898f6d442;hb=717d562bcfb691d971a01b738d0b55cdda480cf0;hp=eca0a31cf48506268114b1603ae5d53f076662ec;hpb=195652229909566ccb3a6ae249d8fa26f25da55a;p=freeside.git
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index eca0a31cf..f1b8b800b 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -12,8 +12,8 @@ if ( $cgi->param('error') ) {
$svcnum = $svc_acct->svcnum;
$pkgnum = $cgi->param('pkgnum');
$svcpart = $cgi->param('svcpart');
- $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
- die "No part_svc entry!" unless $part_svc;
+ $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } );
+ die "No part_svc entry for svcpart $svcpart!" unless $part_svc;
@groups = $cgi->param('radius_usergroup');
} else {
my($query) = $cgi->keywords;
@@ -28,21 +28,21 @@ if ( $cgi->param('error') ) {
$pkgnum=$cust_svc->pkgnum;
$svcpart=$cust_svc->svcpart;
- $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
- die "No part_svc entry!" unless $part_svc;
+ $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } );
+ die "No part_svc entry for svcpart $svcpart!" unless $part_svc;
@groups = $svc_acct->radius_groups;
} else { #adding
- $svc_acct = new FS::svc_acct({});
-
foreach $_ (split(/-/,$query)) {
$pkgnum=$1 if /^pkgnum(\d+)$/;
$svcpart=$1 if /^svcpart(\d+)$/;
}
- $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
- die "No part_svc entry!" unless $part_svc;
+ $part_svc = qsearchs( 'part_svc', { 'svcpart' => $svcpart } );
+ die "No part_svc entry for svcpart $svcpart!" unless $part_svc;
+
+ $svc_acct = new FS::svc_acct({svcpart => $svcpart});
$svcnum='';
@@ -72,6 +72,12 @@ if ( $cgi->param('error') ) {
}
}
+
+#fixed radius groups always override & display
+if ( $part_svc->part_svc_column('usergroup')->columnflag eq "F" ) {
+ @groups = split(',', $part_svc->part_svc_column('usergroup')->columnvalue);
+}
+
my $action = $svcnum ? 'Edit' : 'Add';
my $svc = $part_svc->getfield('svc');
@@ -163,7 +169,7 @@ if ( $part_svc->part_svc_column('domsvc')->columnflag eq 'F' ) {
}
my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $pkgnum } );
- if ($cust_pkg) {
+ if ($cust_pkg && !$conf->exists('svc_acct-alldomains') ) {
my @cust_svc =
map { qsearch('cust_svc', { 'pkgnum' => $_->pkgnum } ) }
qsearch('cust_pkg', { 'custnum' => $cust_pkg->custnum } );
@@ -238,7 +244,16 @@ my($quota,$slipip)=(
$svc_acct->slipip,
);
-print qq!!;
+if ( $part_svc->part_svc_column('quota')->columnflag eq "F" )
+{
+ print qq!!;
+} else {
+ print <
Quota:
+
+
+END
+}
if ( $part_svc->part_svc_column('slipip')->columnflag eq "F" ) {
print qq!!;
@@ -266,6 +281,14 @@ if ( $part_svc->part_svc_column('usergroup')->columnflag eq "F" ) {
}
print '';
+foreach my $field ($svc_acct->virtual_fields) {
+ if ( $part_svc->part_svc_column($field)->columnflag ne 'F' ) {
+ # If the flag is X, it won't even show up in $svc_acct->virtual_fields.
+ print $svc_acct->pvf($field)->widget('HTML', 'edit',
+ $svc_acct->getfield($field));
+ }
+}
+
#submit
print qq! !;