import torrus 1.0.9
[freeside.git] / httemplate / edit / process / cust_pkg_detail.html
1 % if ( $error ) {
2 <% header('Error') %>
3 <FONT COLOR="#ff0000"><B><% $error |h %></B></FONT><BR><BR>
4 <CENTER><INPUT TYPE="BUTTON" VALUE="OK" onClick="parent.cClick()"></CENTER>
5 </BODY></HTML>
6 % } else {
7 <% header($action) %>
8   <SCRIPT TYPE="text/javascript">
9     window.top.location.reload();
10   </SCRIPT>
11   </BODY></HTML>
12 % }
13 <%init>
14
15 my %access_right = (
16   'I' => 'Edit customer package invoice details', 
17   'C' => 'Edit customer package comments',
18 );
19
20 my %name = (
21   'I' => 'invoice details',
22   'C' => 'package comments',
23 );
24
25 my $curuser = $FS::CurrentUser::CurrentUser;
26
27 $cgi->param('detailtype') =~ /^(\w)$/ or die 'illegal detailtype';
28 my $detailtype = $1;
29
30 my $right = $access_right{$detailtype};
31 die "access denied"
32   unless $curuser->access_right($right);
33
34 $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'illegal pkgnum';
35 my $pkgnum = $1;
36
37 my $cust_pkg = qsearchs({
38   'table'     => 'cust_pkg',
39   'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
40   'hashref'   => { 'pkgnum' => $pkgnum },
41   'extra_sql' => ' AND '. $curuser->agentnums_sql,
42 });
43
44
45 my @orig_details = $cust_pkg->cust_pkg_detail($detailtype);
46
47 my $action = ucfirst($name{$detailtype}).
48              ( scalar(@orig_details) ? ' changed ' : ' added ' );
49
50 my $param = $cgi->Vars;
51 my @details = ();
52 for ( my $row = 0; exists($param->{"detail$row"}); $row++ ) {
53   push @details, $param->{"detail$row"}
54     if $param->{"detail$row"} =~ /\S/;
55 }
56
57 my $error = $cust_pkg->set_cust_pkg_detail($detailtype, @details);
58
59 </%init>