use vars qw($DEBUG @ISA @EXPORT_OK $me);
use Exporter;
use FS::Conf;
+use FS::Misc::DateTime qw( parse_datetime );
use FS::Record qw(dbdef);
use FS::cust_main; # are sql_balance and sql_date_balance in the right module?
if ( $cgi->param($prefix.'begin') =~ /^(\d+)$/ ) {
$beginning = $1;
} elsif ( $cgi->param($prefix.'beginning') =~ /^([ 0-9\-\/]{1,64})$/ ) {
- $beginning = str2time($1) || 0;
+ $beginning = parse_datetime($1) || 0;
}
my $ending = 4294967295; #2^32-1
$ending = $1 - 1;
} elsif ( $cgi->param($prefix.'ending') =~ /^([ 0-9\-\/]{1,64})$/ ) {
#probably need an option to turn off the + 86399
- $ending = str2time($1) + 86399;
+ $ending = parse_datetime($1) + 86399;
}
( $beginning, $ending );
use FS::UID qw(getotaker);
use FS::Record qw(qsearchs);
use FS::queue;
+use FS::CGI qw(rooturl);
$DEBUG = 0;
}
}
$param{CurrentUser} = getotaker();
+ $param{RootURL} = rooturl($self->{cgi}->self_url);
warn "FS::UI::Web::start_job\n".
join('', map {
if ( ref($param{$_}) ) {
}
my @return;
- if ( $job && $job->status ne 'failed' ) {
+ if ( $job && $job->status ne 'failed' && $job->status ne 'done' ) {
my ($progress, $action) = split ',', $job->statustext, 2;
$action ||= 'Server processing job';
@return = ( 'progress', $progress, $action );
} elsif ( !$job ) { #handle job gone case : job successful
# so close popup, redirect parent window...
@return = ( 'complete' );
+ } elsif ( $job->status eq 'done' ) {
+ @return = ( 'done', $job->statustext, '' );
} else {
@return = ( 'error', $job ? $job->statustext : $jobnum );
}