1 <& /elements/header-popup.html, "Discount Package" &>
2 <& /elements/error.html &>
4 <FORM NAME="DiscountPkgForm" ACTION="<% $p %>edit/process/cust_pkg_discount.html" METHOD=POST>
5 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
7 <% ntable('#cccccc') %>
10 <TH ALIGN="right">Current package </TH>
12 <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %>
16 <& /elements/tr-select-pkg-discount.html,
17 curr_value_setup => $setup_discountnum,
18 curr_value_recur => $recur_discountnum,
19 disable_setup => $disable_setup,
20 disable_recur => $disable_recur,
26 <INPUT NAME="submit" TYPE="submit" VALUE="Discount package">
34 my $conf = new FS::Conf;
36 my $curuser = $FS::CurrentUser::CurrentUser;
39 unless $curuser->access_right([ 'Discount customer package',
42 my $pkgnum = scalar($cgi->param('pkgnum'));
43 $pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
46 my $pkgdiscountnum = '';
50 'table' => 'cust_pkg',
51 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
52 'hashref' => { 'pkgnum' => $pkgnum },
53 'extra_sql' => ' AND '. $curuser->agentnums_sql,
54 }) or die "unknown pkgnum $pkgnum";
56 my $part_pkg = $cust_pkg->part_pkg;
58 my @discounts = $cust_pkg->cust_pkg_discount_active;
59 my ($setup_discountnum, $recur_discountnum);
60 foreach (@discounts) {
61 if ( $_->setuprecur eq 'setup') {
62 die "multiple setup discounts on pkg#$pkgnum" if $setup_discountnum;
63 $setup_discountnum = $_->discountnum;
64 } elsif ( $_->setuprecur eq 'recur' ) {
65 die "multiple setup discounts on pkg#$pkgnum" if $recur_discountnum;
66 $recur_discountnum = $_->discountnum;
69 if ( $cust_pkg->waive_setup ) {
70 $setup_discountnum = -2;
73 my $disable_setup = 1;
74 if ( !$cust_pkg->get('setup') and $cust_pkg->base_setup > 0 ) {
77 my $disable_recur = 1;
78 if ( $cust_pkg->base_recur > 0 ) {