-<%
- my $jobnum = $cgi->param('jobnum');
- my $url = $cgi->param('url');
- my $formname = scalar($cgi->param('formname'));
-%>
+%
+% my $jobnum = $cgi->param('jobnum');
+% my $url = $cgi->param('url');
+% my $message = $cgi->param('message');
+% my $formname = scalar($cgi->param('formname'));
+%
+
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#ccccff" onLoad="refreshStatus()">
-<SCRIPT TYPE="text/javascript" SRC="../elements/jsrsClient.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" src="../elements/qlib/control.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" src="../elements/qlib/imagelist.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" src="../elements/qlib/progress.js"></SCRIPT>
+<% include('/elements/xmlhttp.html',
+ 'url' => $p.'elements/jsrsServer.html',
+ 'subs' => [ 'job_status' ],
+ )
+%>
+<SCRIPT TYPE="text/javascript" src="<%$fsurl%>elements/qlib/control.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" src="<%$fsurl%>elements/qlib/imagelist.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" src="<%$fsurl%>elements/qlib/progress.js"></SCRIPT>
<SCRIPT TYPE="text/javascript">
function refreshStatus () {
- jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' );
+ //jsrsExecute( '<%$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<% $jobnum %>' );
+
+ job_status( '<% $jobnum %>', updateStatus );
}
function updateStatus( status_statustext ) {
- var Array = status_statustext.split("\n");
- var status = Array[0];
- var statustext = Array[1];
+
+ //var Array = status_statustext.split("\n");
+ var statusArray = eval('(' + status_statustext + ')');
+ var status = statusArray[0];
+ var statustext = statusArray[1];
+ var actiontext = statusArray[2];
+
//if ( status == 'progress' ) {
//IE workaround, no i have no idea why
if ( status.indexOf('progress') > -1 ) {
+ document.getElementById("progress_message").innerHTML = actiontext + '...';
document.getElementById("progress_percent").innerHTML = statustext + '%';
bar1.set(statustext);
bar1.update;
- jsrsExecute( '<%=$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<%= $jobnum %>' );
+ //jsrsExecute( '<%$p%>elements/jsrsServer.html', updateStatus, 'job_status', '<% $jobnum %>' );
+ job_status( '<% $jobnum %>', updateStatus );
} else if ( status.indexOf('complete') > -1 ) {
- window.top.location.href = '<%= $url %>';
+% if ( $message ) {
+%
+% my $onClick = $url
+% ? "window.top.location.href = \\'$url\\';"
+% : 'parent.nd(1);';
+
+ document.getElementById("progress_message").innerHTML = "<% $message %>";
+ document.getElementById("progress_bar").innerHTML = '';
+ document.getElementById("progress_percent").innerHTML =
+ '<INPUT TYPE="button" VALUE="OK" onClick="<% $onClick %>">';
+ document.getElementById("progress_jobnum").innerHTML = '';
+
+% unless ( $url ) {
+ if ( parent.document.<%$formname%>.submit.disabled == true ) {
+ parent.document.<%$formname%>.submit.disabled=false;
+ }
+% }
+
+% } elsif ( $url ) {
+
+ window.top.location.href = '<% $url %>';
+% } else {
+
+ alert('job done but no url or message specified');
+% }
+
+ } else if ( status.indexOf('done') > -1 ) {
+
+ document.getElementById("progress_message").innerHTML = "Loading report";
+ document.getElementById("progress_bar").innerHTML = '';
+ document.getElementById("progress_percent").innerHTML = '';
+ document.getElementById("progress_jobnum").innerHTML = '';
+ window.top.location.href = statustext.substr(8, statustext.length-18);
+
} else if ( status.indexOf('error') > -1 ) {
document.getElementById("progress_message").innerHTML = '<FONT SIZE="+1" COLOR="#FF0000">Error: ' + statustext + '</FONT>';
document.getElementById("progress_bar").innerHTML = '';
document.getElementById("progress_percent").innerHTML = '<INPUT TYPE="button" VALUE="OK" onClick="parent.nd(1);">';
document.getElementById("progress_jobnum").innerHTML = '';
- parent.document.<%=$formname%>.submit.disabled=false;
+ if ( parent.document.<%$formname%>.submit.disabled == true ) {
+ parent.document.<%$formname%>.submit.disabled=false;
+ }
} else {
alert('XXX unknown status returned from server: ' + status);
}
}
</SCRIPT>
- <TABLE>
+ <TABLE WIDTH="100%">
<TR>
<TD ALIGN="center" ID="progress_message">
Server processing job...
<TD ALIGN="center" ID="progress_bar">
<SCRIPT TYPE="text/javascript">
// Create imagelist
- SEGS = new QImageList(4, 23, "../images/progressbar-empty.png", "../images/progressbar-full.png");
+ SEGS = new QImageList(4, 23, "<%$fsurl%>images/progressbar-empty.png", "<%$fsurl%>images/progressbar-full.png");
// Create bars
bar1 = new QProgress(null, "bar1", SEGS, 100);
// bar1.set(0);
</TD>
</TR><TR>
<TD ALIGN="center" ID="progress_jobnum">
- (progress of job #<%= $jobnum %>)
+ (progress of job #<% $jobnum %>)
</TD>
</TR>
</TABLE>