diff options
author | ivan <ivan> | 2010-01-30 23:00:25 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-01-30 23:00:25 +0000 |
commit | 481011e14852aa62181bed0c7ae34b1e37ebff18 (patch) | |
tree | 4b2d3531af60cc441def609f23579b97f36d07ee /httemplate/edit | |
parent | d6be23266fb627a4e7831055bf55ae675dbad4e9 (diff) |
discounts, RT#6679
Diffstat (limited to 'httemplate/edit')
-rwxr-xr-x | httemplate/edit/cust_pkg_discount.html | 75 | ||||
-rw-r--r-- | httemplate/edit/process/cust_pkg_discount.html | 51 |
2 files changed, 126 insertions, 0 deletions
diff --git a/httemplate/edit/cust_pkg_discount.html b/httemplate/edit/cust_pkg_discount.html new file mode 100755 index 000000000..22d8c632f --- /dev/null +++ b/httemplate/edit/cust_pkg_discount.html @@ -0,0 +1,75 @@ +<% include('/elements/header-popup.html', "Discount Package") %> + +<SCRIPT TYPE="text/javascript"> + + function enable_discount_pkg () { + if ( document.DiscountPkgForm.discountnum.selectedIndex > 0 ) { + document.DiscountPkgForm.submit.disabled = false; + } else { + document.DiscountPkgForm.submit.disabled = true; + } + } + +</SCRIPT> + +<% include('/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> + +<% include('/elements/tr-select-discount.html', + 'empty_label' => ( $pkgdiscountnum ? '' : 'Select discount' ), + 'onchange' => 'enable_discount_pkg', + ) +%> + +</TABLE> + +<BR> +<INPUT NAME="submit" TYPE="submit" VALUE="Discount package" <% $pkgdiscountnum ? '' : 'DISABLED' %>> + +</FORM> +</BODY> +</HTML> + +<%init> + +#some false laziness w/misc/change_pkg.cgi + +my $conf = new FS::Conf; + +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Discount customer package'); + +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 $cust_main = $cust_pkg->cust_main +# or die "can't get cust_main record for custnum ". $cust_pkg->custnum. +# " ( pkgnum ". cust_pkg->pkgnum. ")"; + +my $part_pkg = $cust_pkg->part_pkg; + +</%init> diff --git a/httemplate/edit/process/cust_pkg_discount.html b/httemplate/edit/process/cust_pkg_discount.html new file mode 100644 index 000000000..4a31b922a --- /dev/null +++ b/httemplate/edit/process/cust_pkg_discount.html @@ -0,0 +1,51 @@ +% if ($error) { +% $cgi->param('error', $error); +% $cgi->redirect(popurl(3). 'edit/cust_pkg_discount.html?'. $cgi->query_string ); +% } else { + + <% header("Discount applied") %> + <SCRIPT TYPE="text/javascript"> + window.top.location.reload(); + </SCRIPT> + </BODY> + </HTML> + +% } +<%init> + +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Discount customer package'); + +#this search is really for security wrt agent virt... +#maybe move it to the cust_pkg_discount->insert call? +my $cust_pkg = qsearchs({ + #'select' => 'cust_pkg.*', + 'table' => 'cust_pkg', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'pkgnum' => scalar($cgi->param('pkgnum')), }, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, +}); +die 'unknown pkgnum' unless $cust_pkg; + +#XXX something not unlike this for custom discounts +#if ( $cgi->param('locationnum') == -1 ) { +# my $cust_location = new FS::cust_location { +# 'custnum' => $cust_pkg->custnum, +# map { $_ => scalar($cgi->param($_)) } +# qw( address1 address2 city county state zip country ) +# }; +# $change{'cust_location'} = $cust_location; +#} + +my $cust_pkg_discount = new FS::cust_pkg_discount { + 'pkgnum' => $cust_pkg->pkgnum, + 'discountnum' => scalar($cgi->param('discountnum')), + 'months_used' => 0, + 'end_date' => '', #XXX + 'otaker' => $curuser->username, +}; +my $error = $cust_pkg_discount->insert; + +</%init> |