summaryrefslogtreecommitdiff
path: root/httemplate/misc
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-05-23 16:55:57 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-05-23 20:34:46 -0500
commit50fc1d226ec89bf5fb66622ee913ec9e470b8d6c (patch)
treeafc9abf9fae41aba69cf4b9685ea5e384ee52a2c /httemplate/misc
parente86b3578afbb298529e773506217cfc10e0257c4 (diff)
RT#40215: OFM - Separate permissions for edit dates and contract dates [v3 only]
Diffstat (limited to 'httemplate/misc')
-rwxr-xr-xhttemplate/misc/confirm-cust_pkg-edit_dates.html11
1 files changed, 9 insertions, 2 deletions
diff --git a/httemplate/misc/confirm-cust_pkg-edit_dates.html b/httemplate/misc/confirm-cust_pkg-edit_dates.html
index 8e548527a..a0f79cdf0 100755
--- a/httemplate/misc/confirm-cust_pkg-edit_dates.html
+++ b/httemplate/misc/confirm-cust_pkg-edit_dates.html
@@ -2,15 +2,19 @@
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
- unless $curuser->access_right('Edit customer package dates');
+ unless $curuser->access_right('Edit customer package dates')
+ or $curuser->access_right('Change package contract end date');
my %arg = $cgi->Vars;
+my $contract_only = $curuser->access_right('Edit customer package dates') ? 0 : 1;
+$contract_only = 1 if $arg{'contract_only'};
+
my $pkgnum = $arg{'pkgnum'};
$pkgnum =~ /^\d+$/ or die "bad pkgnum '$pkgnum'";
my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
my %hash = $cust_pkg->hash;
-foreach (qw( start_date setup bill last_bill contract_end )) {
+foreach ( $contract_only ? qw( contract_end ) : qw( start_date setup bill last_bill contract_end )) {
# adjourn, expire, resume not editable this way
if( $arg{$_} =~ /^\d+$/ ) {
$hash{$_} = $arg{$_};
@@ -262,6 +266,9 @@ if ( @errors ) {
% foreach (keys %hash) {
<INPUT TYPE="hidden" NAME="<%$_%>" VALUE="<% $hash{$_} |h%>">
% }
+% if ($contract_only) {
+<INPUT TYPE="hidden" NAME="contract_only" VALUE="1">
+% }
</FORM>
<SCRIPT>
function submit_ready() {