X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2FREAL_cust_pkg.cgi;h=606cf87e73e15f6f7372164778d6d8cc5875702c;hb=50fc1d226ec89bf5fb66622ee913ec9e470b8d6c;hp=d9b7579f68200941a4ebe86ca936d08adf017fa8;hpb=eb9668a6f3181ee02cb335272c5ee4616e61fd09;p=freeside.git
diff --git a/httemplate/edit/REAL_cust_pkg.cgi b/httemplate/edit/REAL_cust_pkg.cgi
index d9b7579f6..606cf87e7 100755
--- a/httemplate/edit/REAL_cust_pkg.cgi
+++ b/httemplate/edit/REAL_cust_pkg.cgi
@@ -1,131 +1,268 @@
-
-<%
-#
+<% include("/elements/header.html",'Customer package - Edit dates') %>
+
+%#, menubar(
+%# "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum",
+%#));
+
+
+
+
+
+
+
+
+
+<% include('/elements/footer.html') %>
+<%shared>
+
+my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+my $format = $date_format. ' %T'; # %z (%Z)';
+
+my $contract_only = $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates') ? 0 : 1;
+
+%shared>
+<%init>
+
+# see $contract_only in shared block above
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates')
+ or $FS::CurrentUser::CurrentUser->access_right('Change package contract end date');
+
+my $error = '';
+my( $pkgnum, $cust_pkg );
-my $error ='';
-my $pkgnum = '';
if ( $cgi->param('error') ) {
- $error = $cgi->param('error');
+
$pkgnum = $cgi->param('pkgnum');
+
+ if ( $cgi->param('error') =~ /^_/ ) {
+
+ my @errors = ();
+ my %errors = map { $_=>1 } split(',', $cgi->param('error'));
+ $cgi->param('error', '');
+ $error = join('
', @errors );
+
+ }
+
+ #get package record
+ $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+ die "No package!" unless $cust_pkg;
+
+ foreach my $col (qw( start_date setup last_bill bill )) {
+ my $value = $cgi->param($col);
+ $cust_pkg->set( $col, $value ? parse_datetime($value) : '' );
+ }
+
} else {
+
my($query) = $cgi->keywords;
$query =~ /^(\d+)$/ or die "no pkgnum";
$pkgnum = $1;
+
+ #get package record
+ $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
+ die "No package!" unless $cust_pkg;
+
}
-#get package record
-my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
-die "No package!" unless $cust_pkg;
-my $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')});
+my $part_pkg = qsearchs( 'part_pkg', { 'pkgpart' => $cust_pkg->pkgpart } );
-if ( $error ) {
- #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill);
- $cust_pkg->setup(str2time($cgi->param('setup')));
- $cust_pkg->bill(str2time($cgi->param('bill')));
+my( $last_bill_or_renewed, $next_bill_or_prepaid_until );
+unless ( $part_pkg->is_prepaid ) {
+ #$billed_or_prepaid = 'billed';
+ $last_bill_or_renewed = 'Last bill';
+ $next_bill_or_prepaid_until = 'Next bill';
+} else {
+ #$billed_or_prepaid = 'prepaid';
+ $last_bill_or_renewed = 'Renewed';
+ $next_bill_or_prepaid_until = 'Prepaid until';
}
-#my $custnum = $cust_pkg->getfield('custnum');
-print header('Package Edit'); #, menubar(
-# "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum",
-# 'Main Menu' => popurl(2)
-#));
-
-%>
-
-
-
-
-
-
-<%
-
-#print info
-my($susp,$cancel,$expire)=(
- $cust_pkg->getfield('susp'),
- $cust_pkg->getfield('cancel'),
- $cust_pkg->getfield('expire'),
-);
-my($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment'));
-my($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill'));
-my $otaker = $cust_pkg->getfield('otaker');
-
-print '
-