1 <& /elements/header-popup.html, "Discount Package" &>
2 <& /elements/error.html &>
4 <FORM NAME = "DiscountPkgForm"
5 ACTION = "<% $p %>edit/process/cust_pkg_discount.html"
7 onSubmit = "document.DiscountPkgForm.submit.disabled=true;"
9 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
11 <% ntable('#cccccc') %>
14 <TH ALIGN="right">Package </TH>
16 <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %>
20 <& /elements/tr-select-pkg-discount.html,
21 curr_value_setup => $setup_discountnum,
22 curr_value_recur => $recur_discountnum,
23 disable_setup => $disable_setup,
24 disable_recur => $disable_recur,
25 setup_label => emt('Setup fee discount'),
26 recur_label => emt('Recurring fee discount'),
32 <INPUT NAME="submit" TYPE="submit" VALUE="Discount package">
40 my $conf = new FS::Conf;
42 my $curuser = $FS::CurrentUser::CurrentUser;
45 unless $curuser->access_right([ 'Discount customer package',
48 my $pkgnum = scalar($cgi->param('pkgnum'));
49 $pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
52 my $pkgdiscountnum = '';
56 'table' => 'cust_pkg',
57 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
58 'hashref' => { 'pkgnum' => $pkgnum },
59 'extra_sql' => ' AND '. $curuser->agentnums_sql,
60 }) or die "unknown pkgnum $pkgnum";
62 my $part_pkg = $cust_pkg->part_pkg;
64 my @discounts = $cust_pkg->cust_pkg_discount_active;
65 my ($setup_discountnum, $recur_discountnum);
66 foreach (@discounts) {
67 if ( $_->setuprecur eq 'setup') {
68 die "multiple setup discounts on pkg#$pkgnum" if $setup_discountnum;
69 $setup_discountnum = $_->discountnum;
70 } elsif ( $_->setuprecur eq 'recur' ) {
71 die "multiple setup discounts on pkg#$pkgnum" if $recur_discountnum;
72 $recur_discountnum = $_->discountnum;
75 if ( $cust_pkg->waive_setup ) {
76 $setup_discountnum = -2;
79 my $disable_setup = 1;
80 if ( !$cust_pkg->get('setup') and $cust_pkg->base_setup > 0 ) {
83 my $disable_recur = 1;
84 if ( $cust_pkg->base_recur > 0 ) {