summaryrefslogtreecommitdiff
path: root/httemplate/edit/cust_pkg_discount.html
blob: 17392213398e8b4cf388acffa10b409454b52505 (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
83
84
85
86
87
88
89
90
91
92
<& /elements/header-popup.html, "Discount Package" &>
<& /elements/error.html &>

<FORM NAME     = "DiscountPkgForm"
      ACTION   = "<% $p %>edit/process/cust_pkg_discount.html"
      METHOD   = POST
      onSubmit = "document.DiscountPkgForm.submit.disabled=true;"
>
<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">

<% ntable('#cccccc') %>

  <TR>
    <TH ALIGN="right">Package&nbsp;</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,
  disable_waive_setup => ($part_pkg->freq eq '0'),
  setup_label         => ( $part_pkg->freq eq '0'
                            ? emt('Discount')
                            : emt('Setup fee discount')
                         ),
  recur_label         => emt('Recurring fee discount'),
&>
  
</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 && $part_pkg->freq ne '0' ) {
  $disable_recur = 0;
}

</%init>