blob: e1e3daedec49ede685cd55b8895ec768b8ec9fae (
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<& /elements/header-popup.html, "Discount Package" &>
<& /elements/error.html &>
<FORM NAME="DiscountPkgForm" ACTION="<% $p %>edit/process/cust_pkg_discount.html" METHOD=POST>
<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
<% ntable('#cccccc') %>
<TR>
<TH ALIGN="right">Current package </TH>
<TD COLSPAN=7>
<% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %>
</TD>
</TR>
<& /elements/tr-select-pkg-discount.html,
curr_value_setup => $setup_discountnum,
curr_value_recur => $recur_discountnum,
disable_setup => $disable_setup,
disable_recur => $disable_recur,
&>
</TABLE>
<BR>
<INPUT NAME="submit" TYPE="submit" VALUE="Discount package">
</FORM>
</BODY>
</HTML>
<%init>
my $conf = new FS::Conf;
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
unless $curuser->access_right([ 'Discount customer package',
'Waive setup fee']);
my $pkgnum = scalar($cgi->param('pkgnum'));
$pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
$pkgnum = $1;
my $pkgdiscountnum = '';
my $cust_pkg =
qsearchs({
'table' => 'cust_pkg',
'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
'hashref' => { 'pkgnum' => $pkgnum },
'extra_sql' => ' AND '. $curuser->agentnums_sql,
}) or die "unknown pkgnum $pkgnum";
my $part_pkg = $cust_pkg->part_pkg;
my @discounts = $cust_pkg->cust_pkg_discount_active;
my ($setup_discountnum, $recur_discountnum);
foreach (@discounts) {
if ( $_->setuprecur eq 'setup') {
die "multiple setup discounts on pkg#$pkgnum" if $setup_discountnum;
$setup_discountnum = $_->discountnum;
} elsif ( $_->setuprecur eq 'recur' ) {
die "multiple setup discounts on pkg#$pkgnum" if $recur_discountnum;
$recur_discountnum = $_->discountnum;
}
}
if ( $cust_pkg->waive_setup ) {
$setup_discountnum = -2;
}
my $disable_setup = 1;
if ( !$cust_pkg->get('setup') and $cust_pkg->base_setup > 0 ) {
$disable_setup = 0;
}
my $disable_recur = 1;
if ( $cust_pkg->base_recur > 0 ) {
$disable_recur = 0;
}
</%init>
|