- if( PEAR::isError( $jobsresult ) ) {
- echo "SQL query = $query <br />";
- die("Unable to get last failed jobs from catalog" . $jobsresult->getMessage() );
- }else {
- while( $job = $jobsresult->fetchRow( DB_FETCHMODE_ASSOC ) ) {
- array_push( $failed_jobs, $job);
- }
+ // Jobs per page
+ $jobs_per_page = array( 25,50,75,100,150 );
+ $smarty->assign( 'jobs_per_page', $jobs_per_page );
+
+ // Global variables
+ $job_level = array( 'D' => 'Diff', 'I' => 'Incr', 'F' => 'Full' );
+
+ $query .= "SELECT Job.JobId, Job.Name AS Job_name, Job.StartTime, Job.EndTime, Job.Level, Job.JobBytes, Job.JobFiles, Pool.Name, Job.JobStatus, Pool.Name AS Pool_name, Status.JobStatusLong ";
+ $query .= "FROM Job ";
+ $query .= "LEFT JOIN Pool ON Job.PoolId=Pool.PoolId ";
+ $query .= "LEFT JOIN Status ON Job.JobStatus = Status.JobStatus ";
+
+ // Filter by status
+ if( isset( $_POST['status'] ) ) {
+ switch( strtolower( $_POST['status'] ) )
+ {
+ case 'running':
+ $query .= "WHERE Job.JobStatus = 'R' ";
+ break;
+ case 'waiting':
+ $query .= "WHERE Job.JobStatus IN ('F','S','M','m','s','j','c','d','t','C') ";
+ break;
+ case 'completed':
+ $query .= "WHERE Job.JobStatus = 'T' ";
+ break;
+ case 'failed':
+ $query .= "WHERE Job.JobStatus IN ('f','E') ";
+ break;
+ case 'canceled':
+ $query .= "WHERE Job.JobStatus = 'A' ";
+ break;
+ }