summaryrefslogtreecommitdiff
path: root/httemplate/misc
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/misc')
-rwxr-xr-xhttemplate/misc/change_pkg_date.html (renamed from httemplate/misc/change_pkg_start.html)33
-rwxr-xr-xhttemplate/misc/cust_main-cancel.cgi2
-rwxr-xr-xhttemplate/misc/cust_main-suspend.cgi2
-rwxr-xr-xhttemplate/misc/cust_main-unsuspend.cgi2
-rw-r--r--httemplate/misc/delete-addr_range.html2
-rwxr-xr-xhttemplate/misc/delete-rate_detail.html2
-rw-r--r--httemplate/misc/did_order_confirmed.html2
-rwxr-xr-xhttemplate/misc/disable-cust_location.cgi2
-rw-r--r--httemplate/misc/disable-msg_template.cgi2
-rwxr-xr-xhttemplate/misc/process/bulk_pkg_increment_bill.cgi2
-rwxr-xr-xhttemplate/misc/process/cancel_pkg.html2
-rw-r--r--httemplate/misc/process/change_pkg_contact.html2
-rwxr-xr-xhttemplate/misc/process/change_pkg_date.html (renamed from httemplate/misc/process/change_pkg_start.html)32
-rw-r--r--httemplate/misc/process/cust_bill-promised_date.html2
-rwxr-xr-xhttemplate/misc/process/delay_susp_pkg.html2
-rwxr-xr-xhttemplate/misc/process/enable_or_disable_tax.html2
-rw-r--r--httemplate/misc/process/nms-add_iface.html2
-rw-r--r--httemplate/misc/process/nms-add_router.html2
-rwxr-xr-xhttemplate/misc/process/recharge_svc.html2
-rwxr-xr-xhttemplate/misc/process/unhold_pkg.html2
-rwxr-xr-xhttemplate/misc/process/void-cust_bill.html2
-rw-r--r--httemplate/misc/reason-merge.html2
-rwxr-xr-xhttemplate/misc/void-cust_credit.html2
23 files changed, 67 insertions, 40 deletions
diff --git a/httemplate/misc/change_pkg_start.html b/httemplate/misc/change_pkg_date.html
index 5a890c86e..642a5b89e 100755
--- a/httemplate/misc/change_pkg_start.html
+++ b/httemplate/misc/change_pkg_date.html
@@ -3,11 +3,12 @@
<& /elements/error.html &>
% # only slightly different from unhold_pkg.
-<FORM NAME="MyForm" ACTION="process/change_pkg_start.html" METHOD=POST>
+<FORM NAME="MyForm" ACTION="process/change_pkg_date.html" METHOD=POST>
<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
+<INPUT TYPE="hidden" NAME="field" VALUE="<% $field %>">
<BR>
-<% emt('Start billing [_1]', $part_pkg->pkg_comment(cust_pkg => $cust_pkg)) %>
+<% emt(($isstart ? 'Start billing' : 'Set contract end for').' [_1]', $part_pkg->pkg_comment(cust_pkg => $cust_pkg)) %>
<UL STYLE="padding-left: 3ex; list-style: none; background-color: #cccccc">
<LI>
<& /elements/radio.html,
@@ -16,7 +17,7 @@
value => 'now',
curr_value => $when,
&>
- <label for="when_now"><% emt('Immediately') %></label>
+ <label for="when_now"><% emt($isstart ? 'Now' : 'Never') %></label>
</LI>
% if ( $next_bill_date ) {
<LI>
@@ -41,13 +42,13 @@
&>
<label for="when_date"> <% emt('On this date:') %> </label>
<& /elements/input-date-field.html,
- { name => 'start_date',
- value => $cgi->param('start_date') || $cust_pkg->start_date,
+ { name => 'date_value',
+ value => $cgi->param('date_value') || $cust_pkg->get($field),
}
&>
</LI>
</UL>
-<INPUT TYPE="submit" NAME="submit" VALUE="<% emt('Set start date') %>">
+<INPUT TYPE="submit" NAME="submit" VALUE="<% emt('Set '.($isstart ? 'start date' : 'contract end')) %>">
</FORM>
</BODY>
@@ -55,9 +56,21 @@
<%init>
+my $field = $cgi->param('field');
+
+my ($acl, $isstart);
+if ($field eq 'start_date') {
+ $acl = 'Change package start date';
+ $isstart = 1;
+} elsif ($field eq 'contract_end') {
+ $acl = 'Change package contract end date';
+} else {
+ die "Unknown date field";
+}
+
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
- unless $curuser->access_right('Change package start date');
+ unless $curuser->access_right($acl);
my $pkgnum;
if ( $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
@@ -69,7 +82,7 @@ if ( $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
my $conf = new FS::Conf;
my $date_format = $conf->config('date_format') || '%m/%d/%Y';
-my $title = 'Start billing package';
+my $title = $isstart ? 'Start billing package' : 'Change contract end';
my $cust_pkg = qsearchs({
table => 'cust_pkg',
@@ -83,12 +96,12 @@ my $next_bill_date = $cust_pkg->cust_main->next_bill_date;
my $part_pkg = $cust_pkg->part_pkg;
# defaults:
-# sticky on error, then the existing start date if any, then the customer's
+# sticky on error, then the existing date if any, then the customer's
# next bill date, and if none of those, default to now
my $when = $cgi->param('when');
if (!$when) {
- if ($cust_pkg->start_date) {
+ if ($cust_pkg->get($field)) {
$when = 'date';
} elsif ($next_bill_date) {
$when = 'next_bill_date';
diff --git a/httemplate/misc/cust_main-cancel.cgi b/httemplate/misc/cust_main-cancel.cgi
index f6fd1e915..73c4deb7a 100755
--- a/httemplate/misc/cust_main-cancel.cgi
+++ b/httemplate/misc/cust_main-cancel.cgi
@@ -1,6 +1,6 @@
<& /elements/header-popup.html, mt("Customer cancelled") &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/cust_main-suspend.cgi b/httemplate/misc/cust_main-suspend.cgi
index 7a501d61a..e81e2b490 100755
--- a/httemplate/misc/cust_main-suspend.cgi
+++ b/httemplate/misc/cust_main-suspend.cgi
@@ -1,6 +1,6 @@
<& /elements/header-popup.html, mt("Customer suspended") &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/cust_main-unsuspend.cgi b/httemplate/misc/cust_main-unsuspend.cgi
index e8ac8d31e..99ec70a23 100755
--- a/httemplate/misc/cust_main-unsuspend.cgi
+++ b/httemplate/misc/cust_main-unsuspend.cgi
@@ -1,6 +1,6 @@
<& /elements/header-popup.html, mt("Customer unsuspended") &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/delete-addr_range.html b/httemplate/misc/delete-addr_range.html
index c6310e9b1..239332d23 100644
--- a/httemplate/misc/delete-addr_range.html
+++ b/httemplate/misc/delete-addr_range.html
@@ -3,7 +3,7 @@
% } else {
<& /elements/header-popup.html, "Address range deleted" &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/delete-rate_detail.html b/httemplate/misc/delete-rate_detail.html
index 30856a73a..b4d31b379 100755
--- a/httemplate/misc/delete-rate_detail.html
+++ b/httemplate/misc/delete-rate_detail.html
@@ -3,7 +3,7 @@
% } else {
<% header('Rate deleted') %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
% }
diff --git a/httemplate/misc/did_order_confirmed.html b/httemplate/misc/did_order_confirmed.html
index 53dbb2f3a..3cc121c6f 100644
--- a/httemplate/misc/did_order_confirmed.html
+++ b/httemplate/misc/did_order_confirmed.html
@@ -14,7 +14,7 @@ die "access denied"
my $action = $1;
my $header = '';
my $popup = '';
-my $js = 'window.top.location.reload();';
+my $js = 'topreload();';
$cgi->param('ordernum') =~ /^(\d+)$/ or die 'illegal ordernum';
my $ordernum = $1;
diff --git a/httemplate/misc/disable-cust_location.cgi b/httemplate/misc/disable-cust_location.cgi
index ee7ba1dbc..677f0b891 100755
--- a/httemplate/misc/disable-cust_location.cgi
+++ b/httemplate/misc/disable-cust_location.cgi
@@ -1,6 +1,6 @@
<% header("Location disabled") %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/disable-msg_template.cgi b/httemplate/misc/disable-msg_template.cgi
index 1eb4d25e5..565eb2cee 100644
--- a/httemplate/misc/disable-msg_template.cgi
+++ b/httemplate/misc/disable-msg_template.cgi
@@ -3,7 +3,7 @@
% } else {
<& /elements/header-popup.html, "Template ${actioned}" &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/process/bulk_pkg_increment_bill.cgi b/httemplate/misc/process/bulk_pkg_increment_bill.cgi
index 0d8417b26..8da849508 100755
--- a/httemplate/misc/process/bulk_pkg_increment_bill.cgi
+++ b/httemplate/misc/process/bulk_pkg_increment_bill.cgi
@@ -4,7 +4,7 @@
%} else {
<% header('Packages Adjusted') %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
% }
diff --git a/httemplate/misc/process/cancel_pkg.html b/httemplate/misc/process/cancel_pkg.html
index eb3b2efe6..46ba06a6d 100755
--- a/httemplate/misc/process/cancel_pkg.html
+++ b/httemplate/misc/process/cancel_pkg.html
@@ -1,6 +1,6 @@
<% header(emt("Package $past_method")) %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/process/change_pkg_contact.html b/httemplate/misc/process/change_pkg_contact.html
index 2795c1197..5bf896200 100644
--- a/httemplate/misc/process/change_pkg_contact.html
+++ b/httemplate/misc/process/change_pkg_contact.html
@@ -1,6 +1,6 @@
<% header(emt("Package contact $past_method")) %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/process/change_pkg_start.html b/httemplate/misc/process/change_pkg_date.html
index 17a8518f9..3084ec538 100755
--- a/httemplate/misc/process/change_pkg_start.html
+++ b/httemplate/misc/process/change_pkg_date.html
@@ -6,9 +6,21 @@
</HTML>
<%init>
+my $field = $cgi->param('field');
+
+my ($acl, $isstart);
+if ($field eq 'start_date') {
+ $acl = 'Change package start date';
+ $isstart = 1;
+} elsif ($field eq 'contract_end') {
+ $acl = 'Change package contract end date';
+} else {
+ die "Unknown date field";
+}
+
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
- unless $curuser->access_right('Change package start date');
+ unless $curuser->access_right($acl);
$cgi->param('pkgnum') =~ /^(\d+)$/
or die "illegal pkgnum";
@@ -24,23 +36,25 @@ my $cust_pkg = qsearchs({
my $cust_main = $cust_pkg->cust_main;
my $error;
-my $start_date;
+my $date_value;
if ( $cgi->param('when') eq 'now' ) {
- # start it the next time billing runs
- $start_date = '';
+ # blank start means start it the next time billing runs ("Now")
+ # blank contract end means it never ends ("Never")
+ $date_value = '';
} elsif ( $cgi->param('when') eq 'next_bill_date' ) {
- $start_date = $cust_main->next_bill_date;
+ $date_value = $cust_main->next_bill_date;
} elsif ( $cgi->param('when') eq 'date' ) {
- $start_date = parse_datetime($cgi->param('start_date'));
+ $date_value = parse_datetime($cgi->param('date_value'));
}
-if ( $cust_pkg->setup ) {
+if ( $isstart && $cust_pkg->setup ) {
# shouldn't happen
$error = 'This package has already started billing.';
} else {
local $FS::UID::AutoCommit = 0;
foreach my $pkg ($cust_pkg, $cust_pkg->supplemental_pkgs) {
- $pkg->set('start_date', $start_date);
+ last if $error;
+ $pkg->set($field, $date_value);
$error ||= $pkg->replace;
}
$error ? dbh->rollback : dbh->commit;
@@ -48,6 +62,6 @@ if ( $cust_pkg->setup ) {
if ( $error ) {
$cgi->param('error', $error);
- print $cgi->redirect($fsurl.'misc/change_pkg_start.html?', $cgi->query_string);
+ print $cgi->redirect($fsurl.'misc/change_pkg_date.html?', $cgi->query_string);
}
</%init>
diff --git a/httemplate/misc/process/cust_bill-promised_date.html b/httemplate/misc/process/cust_bill-promised_date.html
index 721a763eb..f390609c7 100644
--- a/httemplate/misc/process/cust_bill-promised_date.html
+++ b/httemplate/misc/process/cust_bill-promised_date.html
@@ -1,4 +1,4 @@
-<SCRIPT TYPE="text/javascript">window.top.location.reload()</SCRIPT>
+<SCRIPT TYPE="text/javascript">topreload()</SCRIPT>
<%init>
# XXX ACL?
die "access denied"
diff --git a/httemplate/misc/process/delay_susp_pkg.html b/httemplate/misc/process/delay_susp_pkg.html
index 675da0496..15a3c963c 100755
--- a/httemplate/misc/process/delay_susp_pkg.html
+++ b/httemplate/misc/process/delay_susp_pkg.html
@@ -1,6 +1,6 @@
<% header($msg) %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/process/enable_or_disable_tax.html b/httemplate/misc/process/enable_or_disable_tax.html
index 9b7324b0d..8a7a559a0 100755
--- a/httemplate/misc/process/enable_or_disable_tax.html
+++ b/httemplate/misc/process/enable_or_disable_tax.html
@@ -4,7 +4,7 @@
<% include('/elements/header-popup.html', $title) %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
diff --git a/httemplate/misc/process/nms-add_iface.html b/httemplate/misc/process/nms-add_iface.html
index 79e685686..cbd0fc048 100644
--- a/httemplate/misc/process/nms-add_iface.html
+++ b/httemplate/misc/process/nms-add_iface.html
@@ -1,6 +1,6 @@
<& /elements/header-popup.html, 'Interface added' &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
<%init>
diff --git a/httemplate/misc/process/nms-add_router.html b/httemplate/misc/process/nms-add_router.html
index c3b42a8d3..a4c3423da 100644
--- a/httemplate/misc/process/nms-add_router.html
+++ b/httemplate/misc/process/nms-add_router.html
@@ -1,6 +1,6 @@
<& /elements/header-popup.html, 'Router added' &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
<%init>
diff --git a/httemplate/misc/process/recharge_svc.html b/httemplate/misc/process/recharge_svc.html
index 2d49f6b06..88a1f7f36 100755
--- a/httemplate/misc/process/recharge_svc.html
+++ b/httemplate/misc/process/recharge_svc.html
@@ -4,7 +4,7 @@
%} else {
<% header("Package recharged") %>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
%}
diff --git a/httemplate/misc/process/unhold_pkg.html b/httemplate/misc/process/unhold_pkg.html
index 694048023..7e54262c6 100755
--- a/httemplate/misc/process/unhold_pkg.html
+++ b/httemplate/misc/process/unhold_pkg.html
@@ -1,6 +1,6 @@
<& /elements/header-popup.html &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>
diff --git a/httemplate/misc/process/void-cust_bill.html b/httemplate/misc/process/void-cust_bill.html
index 7773b0ba9..32a2fc591 100755
--- a/httemplate/misc/process/void-cust_bill.html
+++ b/httemplate/misc/process/void-cust_bill.html
@@ -4,7 +4,7 @@
%} else {
<& /elements/header-popup.html, 'Invoice voided' &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY></HTML>
%}
diff --git a/httemplate/misc/reason-merge.html b/httemplate/misc/reason-merge.html
index 14f5ebb84..b7e4df454 100644
--- a/httemplate/misc/reason-merge.html
+++ b/httemplate/misc/reason-merge.html
@@ -1,7 +1,7 @@
% if ($success) {
<% include('/elements/header-popup.html', 'Reason Merge Success') %>
<SCRIPT>
-window.top.location.reload()
+topreload()
</SCRIPT>
% } else {
<% include('/elements/header-popup.html', 'Merge Reasons') %>
diff --git a/httemplate/misc/void-cust_credit.html b/httemplate/misc/void-cust_credit.html
index 1e71f0030..81ba31d54 100755
--- a/httemplate/misc/void-cust_credit.html
+++ b/httemplate/misc/void-cust_credit.html
@@ -1,7 +1,7 @@
%if ( $success ) {
<& /elements/header-popup.html, mt("Credit voided") &>
<SCRIPT TYPE="text/javascript">
- window.top.location.reload();
+ topreload();
</SCRIPT>
</BODY>
</HTML>