]> 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 c140a6c0b5af139de9557ff058ae50a03a3e6e1d..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 ";
   
   // Determine how many jobs to display
@@ -82,6 +99,8 @@
   
   $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() );
   }
   $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');
 ?>