summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/browse/part_svc.cgi10
-rwxr-xr-xhttemplate/edit/part_svc.cgi12
-rwxr-xr-xhttemplate/edit/process/part_svc.cgi12
3 files changed, 22 insertions, 12 deletions
diff --git a/httemplate/browse/part_svc.cgi b/httemplate/browse/part_svc.cgi
index c66b8ac63..250b1ff4e 100755
--- a/httemplate/browse/part_svc.cgi
+++ b/httemplate/browse/part_svc.cgi
@@ -41,13 +41,15 @@ function part_export_areyousure(href) {
<% foreach my $part_svc ( sort {
$a->getfield('svcpart') <=> $b->getfield('svcpart')
} @part_svc ) {
- my($hashref)=$part_svc->hashref;
- my($svcdb)=$hashref->{svcdb};
+ my $hashref = $part_svc->hashref;
+ my $svcdb = $hashref->{svcdb};
+ my @dfields = fields($svcdb);
+ push @dfields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
my @fields =
grep { $_ ne 'svcnum' && $part_svc->part_svc_column($_)->columnflag }
- fields($svcdb);
+ @dfields;
- my($rowspan)=scalar(@fields) || 1;
+ my $rowspan = scalar(@fields) || 1;
my $url = "${p}edit/part_svc.cgi?$hashref->{svcpart}";
%>
diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi
index b1bb7f3d3..b4900a01c 100755
--- a/httemplate/edit/part_svc.cgi
+++ b/httemplate/edit/part_svc.cgi
@@ -86,10 +86,10 @@ my %defs = (
select_key => 'svcnum',
select_label => 'domain',
},
- 'radius_groups' => {
- desc =>'ICRADIUS/FreeRADIUS groups',
- type =>'radius_usergroup_selector',
- },
+ 'usergroup' => {
+ desc =>'ICRADIUS/FreeRADIUS groups',
+ type =>'radius_usergroup_selector',
+ },
},
'svc_domain' => {
'domain' => 'Domain',
@@ -138,6 +138,7 @@ my %defs = (
my @fields = defined( $FS::Record::dbdef->table($layer) )
? grep { $_ ne 'svcnum' } fields($layer)
: ();
+ push @fields, 'usergroup' if $layer eq 'svc_acct'; #kludge
foreach my $field (@fields) {
my $part_svc_column = $part_svc->part_svc_column($field);
my $value = $cgi->param('error')
@@ -171,6 +172,9 @@ my %defs = (
$record->getfield($def->{select_label}). '</OPTION>';
}
$html .= '</SELECT>';
+ } elsif ( $def->{type} eq 'radius_usergroup_selector' ) {
+ $html .= FS::svc_acct::radius_usergroup_selector(
+ [ split(',', $value) ], "${layer}__${field}" );
} else {
$html .= '<font color="#ff0000">unknown type'. $def->{type};
}
diff --git a/httemplate/edit/process/part_svc.cgi b/httemplate/edit/process/part_svc.cgi
index 423db93b5..31ab13438 100755
--- a/httemplate/edit/process/part_svc.cgi
+++ b/httemplate/edit/process/part_svc.cgi
@@ -4,14 +4,18 @@ my $svcpart = $cgi->param('svcpart');
my $old = qsearchs('part_svc',{'svcpart'=>$svcpart}) if $svcpart;
+$cgi->param( 'svc_acct__usergroup',
+ join(',', $cgi->param('svc_acct__usergroup') ) );
+
my $new = new FS::part_svc ( {
map {
$_, scalar($cgi->param($_));
# } qw(svcpart svc svcdb)
} ( fields('part_svc'),
map { my $svcdb = $_;
- map { ( $svcdb.'__'.$_, $svcdb.'__'.$_.'_flag' ) }
- fields($svcdb)
+ my @fields = fields($svcdb);
+ push @fields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
+ map { ( $svcdb.'__'.$_, $svcdb.'__'.$_.'_flag' ) } @fields;
} grep defined( $FS::Record::dbdef->table($_) ),
qw( svc_acct svc_domain svc_acct_sm svc_forward svc_www )
)
@@ -19,9 +23,9 @@ my $new = new FS::part_svc ( {
my $error;
if ( $svcpart ) {
- $error = $new->replace($old, '1.3-COMPAT');
+ $error = $new->replace($old, '1.3-COMPAT', [ 'usergroup' ] );
} else {
- $error = $new->insert;
+ $error = $new->insert( [ 'usergroup' ] );
$svcpart=$new->getfield('svcpart');
}