This commit was generated by cvs2svn to compensate for changes in r4407,
[freeside.git] / httemplate / edit / process / part_pkg.cgi
1 <%
2
3 my $dbh = dbh;
4
5 my $pkgpart = $cgi->param('pkgpart');
6
7 my $old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
8
9 #fixup plandata
10 my $plandata = $cgi->param('plandata');
11 my @plandata = split(',', $plandata);
12 $cgi->param('plandata', 
13   join('', map { "$_=". join(', ', $cgi->param($_)). "\n" } @plandata )
14 );
15
16 foreach (qw( setuptax recurtax disabled )) {
17   $cgi->param($_, '') unless defined $cgi->param($_);
18 }
19
20 my $new = new FS::part_pkg ( {
21   map {
22     $_ => scalar($cgi->param($_));
23   } fields('part_pkg')
24 } );
25
26 my %pkg_svc = map { $_ => scalar($cgi->param("pkg_svc$_")) }
27               map { $_->svcpart }
28               qsearch('part_svc', {} );
29
30 my $error;
31 my $custnum = '';
32 if ( $cgi->param('taxclass') eq '(select)' ) {
33
34   $error = 'Must select a tax class';
35
36 } elsif ( $pkgpart ) {
37
38   $error = $new->replace( $old,
39                           pkg_svc     => \%pkg_svc,
40                           primary_svc => scalar($cgi->param('pkg_svc_primary')),
41                         );
42 } else {
43
44   $error = $new->insert(  pkg_svc     => \%pkg_svc,
45                           primary_svc => scalar($cgi->param('pkg_svc_primary')),
46                           cust_pkg    => $cgi->param('pkgnum'),
47                           custnum_ref => \$custnum,
48                        );
49   $pkgpart = $new->pkgpart;
50 }
51
52 if ( $error ) {
53   $cgi->param('error', $error );
54   print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );
55 } elsif ( $custnum )  {
56   print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
57 } else {
58   print $cgi->redirect(popurl(3). "browse/part_pkg.cgi");
59 }
60
61 %>