From 74e64d70361848f089aad9a7881c2af9caf6e479 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 23 Mar 2002 17:49:01 +0000 Subject: okay group editing UI as well as part_svc group editing UI seem to be working --- httemplate/browse/part_svc.cgi | 10 ++++++---- httemplate/edit/part_svc.cgi | 12 ++++++++---- httemplate/edit/process/part_svc.cgi | 12 ++++++++---- 3 files changed, 22 insertions(+), 12 deletions(-) (limited to 'httemplate') 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}). ''; } $html .= ''; + } elsif ( $def->{type} eq 'radius_usergroup_selector' ) { + $html .= FS::svc_acct::radius_usergroup_selector( + [ split(',', $value) ], "${layer}__${field}" ); } else { $html .= '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'); } -- cgit v1.2.1