X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fconfirm-cust_pkg-edit_dates.html;h=a0f79cdf0b5f96f2cf8d16a9d28b6346fd1e9839;hb=50fc1d226ec89bf5fb66622ee913ec9e470b8d6c;hp=27b9a82f4a971ac2bdc9a0eebc8dab58d5dcdcce;hpb=a65d16767bcaa1077be0f41568a4349c9db18990;p=freeside.git diff --git a/httemplate/misc/confirm-cust_pkg-edit_dates.html b/httemplate/misc/confirm-cust_pkg-edit_dates.html index 27b9a82f4..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{$_}; @@ -63,7 +67,7 @@ if ( $hash{'setup'} != $cust_pkg->get('setup') ) { } else { push @confirm, ''; } - } elsif ( $cust_pkg->get('setup') ) { + } elsif ( $hash{'setup'} and !$cust_pkg->get('setup') ) { my $text = 'Add a setup date of [_1]'; $text .= ' to this and all its supplemental packages' if @supp_pkgs; $text .= '.'; @@ -110,7 +114,7 @@ if ( $hash{'last_bill'} != $cust_pkg->get('last_bill') ) { # Bill date change if ( $hash{'bill'} != $cust_pkg->get('bill') ) { my $bill = time2str($date_format, $hash{'bill'}); - $bill = 'the current day' if !$hash{'bill'}; # or 'the end of today'?... + $bill = 'today' if !$hash{'bill'}; # or 'the end of today'?... my $name = 'next bill date'; $name = 'end of the prepaid period' if $part_pkg->is_prepaid; push @changes, mt('Set the [_1] to [_2].', $name, $bill); @@ -119,6 +123,12 @@ if ( $hash{'bill'} != $cust_pkg->get('bill') ) { push @confirm, mt('The customer will be charged for the interval from [_1] until now.', $bill); + } elsif ( !$hash{'bill'} and ($hash{'last_bill'} or $hash{'setup'}) ) { + my $last_bill = + time2str($date_format, $hash{'last_bill'} || $hash{'setup'}); + push @confirm, + mt('The customer will be charged for the interval from [_1] until now.', + $last_bill); } else { push @confirm, ''; } @@ -256,6 +266,9 @@ if ( @errors ) { % foreach (keys %hash) { % } +% if ($contract_only) { + +% }