]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/bacula-web/jobs.php
bacula-web: Internal code improvments and Jobs number result in jobs page
[bacula/bacula] / gui / bacula-web / jobs.php
index e4fe0bfc4b290f49e30169796bbcd3cc7f411d65..c26d85f568b7026b94416bca035730b70bae0489 100644 (file)
   $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( $_POST['status'] )
+       {
+               case 'completed':
+                       $query .= "WHERE Job.JobStatus = 'T' ";
+               break;
+               case 'failed':
+                       $query .= "WHERE Job.JobStatus = 'f' ";
+               break;
+               case 'canceled':
+                       $query .= "WHERE Job.JobStatus = 'A' ";
+               break;
+       }
+  }
+  
   $query .= "ORDER BY Job.EndTime DESC ";
-  $query .= "LIMIT 20";
+  
+  // Determine how many jobs to display
+  if( isset($_POST['limit']) )
+       $query .= "LIMIT " . $_POST['limit'];
+  else
+       $query .= "LIMIT 20 ";
   
   $jobsresult = $dbSql->db_link->query( $query );
   
+  //var_dump( $_POST );
+  
   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 ) ) {
+               // Determine icon for job
                if( $job['JobStatus'] == 'T' )
                        $job['Job_icon'] = "s_ok.gif";
                else
                        $job['Job_icon'] = "s_error.gif";
+               
+               // Odd or even row
+               if( count($last_jobs) % 2)
+                       $job['Job_classe'] = 'odd';
                        
                array_push( $last_jobs, $job);
          }
   }
   $smarty->assign( 'last_jobs', $last_jobs );
   
+  if( isset( $_POST['status'] ) )
+       $total_jobs = $dbSql->CountJobs( ALL, $_POST['status'] );
+  else
+       $total_jobs = $dbSql->CountJobs( ALL );
+  
+  $smarty->assign( 'total_jobs', $total_jobs );
+  
   // Process and display the template 
   $smarty->display('jobs.tpl');
 ?>