-<%
+<% $server->process %>
+<%init>
-my $svcpart = $cgi->param('svcpart');
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
-my $old = qsearchs('part_svc',{'svcpart'=>$svcpart}) if $svcpart;
+my $server = new FS::UI::Web::JSRPC 'FS::part_svc::process', $cgi;
-$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 = $_;
- 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 )
- )
-} );
-
-my $error;
-if ( $svcpart ) {
- $error = $new->replace($old, '1.3-COMPAT', [ 'usergroup' ] );
-} else {
- $error = $new->insert( [ 'usergroup' ] );
- $svcpart=$new->getfield('svcpart');
-}
-
-if ( $error ) {
- $cgi->param('error', $error);
- print $cgi->redirect(popurl(2). "part_svc.cgi?". $cgi->query_string );
-} else {
- print $cgi->redirect(popurl(3)."browse/part_svc.cgi");
-}
-
-%>
+</%init>