summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/cust_pkg_detail.html
blob: 132ff63c5d2325d503f9aa1813a5d2410aea7c70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
% if ( $error ) {
<% header('Error') %>
<FONT COLOR="#ff0000"><B><% $error |h %></B></FONT><BR><BR>
<CENTER><INPUT TYPE="BUTTON" VALUE="OK" onClick="parent.cClick()"></CENTER>
</BODY></HTML>
% } else {
<% header($action) %>
  <SCRIPT TYPE="text/javascript">
    window.top.location.reload();
  </SCRIPT>
  </BODY></HTML>
% }
<%init>

my %access_right = (
  'I' => 'Edit customer package invoice details', 
  'C' => 'Edit customer package comments',
);

my %name = (
  'I' => 'invoice details',
  'C' => 'package comments',
);

my $curuser = $FS::CurrentUser::CurrentUser;

$cgi->param('detailtype') =~ /^(\w)$/ or die 'illegal detailtype';
my $detailtype = $1;

my $right = $access_right{$detailtype};
die "access denied"
  unless $curuser->access_right($right);

$cgi->param('pkgnum') =~ /^(\d+)$/ or die 'illegal pkgnum';
my $pkgnum = $1;

my $cust_pkg = qsearchs({
  'table'     => 'cust_pkg',
  'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
  'hashref'   => { 'pkgnum' => $pkgnum },
  'extra_sql' => ' AND '. $curuser->agentnums_sql,
});


my @orig_details = $cust_pkg->cust_pkg_detail($detailtype);

my $action = ucfirst($name{$detailtype}).
             ( scalar(@orig_details) ? ' changed ' : ' added ' );

my $param = $cgi->Vars;
my @details = ();
for ( my $row = 0; exists($param->{"detail$row"}); $row++ ) {
  push @details, $param->{"detail$row"}
    if $param->{"detail$row"} =~ /\S/;
}

my $error = $cust_pkg->set_cust_pkg_detail($detailtype, @details);

</%init>