X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2FREAL_cust_pkg.cgi;h=99e911ae5999fb39c6a0892de03e766a12a3c2a5;hb=ac272d7302249e13fbf07084087ae642059d63a0;hp=9cbab2a162597c248ad9546091b1327491e0e49f;hpb=0715590a107d7e17a37b2f4235b6c8a540783d1e;p=freeside.git
diff --git a/httemplate/edit/REAL_cust_pkg.cgi b/httemplate/edit/REAL_cust_pkg.cgi
index 9cbab2a16..99e911ae5 100755
--- a/httemplate/edit/REAL_cust_pkg.cgi
+++ b/httemplate/edit/REAL_cust_pkg.cgi
@@ -1,138 +1,244 @@
-
-<%
-#
+<% 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)';
+
+%shared>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates');
+
+
+my $error = '';
+my( $pkgnum, $cust_pkg );
-my $error ='';
-my $pkgnum = '';
if ( $cgi->param('error') ) {
- $error = $cgi->param('error');
+
$pkgnum = $cgi->param('pkgnum');
- if ( $error eq '_bill_areyousure' ) {
- my $bill = $cgi->param('bill');
- $error = "You are attempting to set the next bill date to $bill, which is
- in the past. This will charge the customer for the interval
- from $bill until now. Are you sure you want to do this? ".
- '';
+
+ 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 '
-