31ab13438362f2472afc2ee789bbc045d66cb4ec
[freeside.git] / httemplate / edit / process / part_svc.cgi
1 <%
2
3 my $svcpart = $cgi->param('svcpart');
4
5 my $old = qsearchs('part_svc',{'svcpart'=>$svcpart}) if $svcpart;
6
7 $cgi->param( 'svc_acct__usergroup',
8              join(',', $cgi->param('svc_acct__usergroup') ) );
9
10 my $new = new FS::part_svc ( {
11   map {
12     $_, scalar($cgi->param($_));
13 #  } qw(svcpart svc svcdb)
14   } ( fields('part_svc'),
15       map { my $svcdb = $_;
16             my @fields = fields($svcdb);
17             push @fields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
18             map { ( $svcdb.'__'.$_, $svcdb.'__'.$_.'_flag' )  } @fields;
19           } grep defined( $FS::Record::dbdef->table($_) ),
20                  qw( svc_acct svc_domain svc_acct_sm svc_forward svc_www )
21     )
22 } );
23
24 my $error;
25 if ( $svcpart ) {
26   $error = $new->replace($old, '1.3-COMPAT', [ 'usergroup' ] );
27 } else {
28   $error = $new->insert( [ 'usergroup' ] );
29   $svcpart=$new->getfield('svcpart');
30 }
31
32 if ( $error ) {
33   $cgi->param('error', $error);
34   print $cgi->redirect(popurl(2). "part_svc.cgi?". $cgi->query_string );
35 } else {
36   print $cgi->redirect(popurl(3)."browse/part_svc.cgi");
37 }
38
39 %>