X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=gui%2Fbacula-web%2Fjobs.php;h=c54dc2c9efe37c37aef90bcf1a3db69aed27de2e;hb=5faef02181a3c318f34d513112b595f0cae1747c;hp=f085d3bf01f01d9dd65afc85619de47d5ac47600;hpb=6e5e9934b7e9790fab8a75ea72b71573246887b6;p=bacula%2Fbacula
diff --git a/gui/bacula-web/jobs.php b/gui/bacula-web/jobs.php
index f085d3bf01..c54dc2c9ef 100644
--- a/gui/bacula-web/jobs.php
+++ b/gui/bacula-web/jobs.php
@@ -1,31 +1,43 @@
compile_check = true;
- $smarty->debugging = false;
- $smarty->force_compile = true;
-
- $smarty->template_dir = "./templates";
- $smarty->compile_dir = "./templates_c";
- $smarty->config_dir = "./configs";
-
// Jobs list
- $query = "";
- $last_jobs = array();
+ $query = "";
+ $last_jobs = array();
// Job Status list
- $job_status = array( 'Any', 'Waiting', 'Running', 'Completed', 'Failed', 'Canceled' );
- $smarty->assign( 'job_status', $job_status );
+ define( 'STATUS_ALL', 0 );
+ define( 'STATUS_RUNNING', 1 );
+ define( 'STATUS_WAITING', 2 );
+ define( 'STATUS_COMPLETED', 3 );
+ define( 'STATUS_FAILED', 4 );
+ define( 'STATUS_CANCELED', 5 );
+
+ $job_status = array( STATUS_ALL => 'All',
+ STATUS_RUNNING => 'Running',
+ STATUS_WAITING => 'Waiting',
+ STATUS_COMPLETED => 'Completed',
+ STATUS_FAILED => 'Failed',
+ STATUS_CANCELED => 'Canceled' );
+
+ $dbSql->tpl->assign( 'job_status', $job_status );
// Global variables
$job_level = array( 'D' => 'Diff', 'I' => 'Incr', 'F' => 'Full' );
@@ -37,68 +49,75 @@
// Filter by status
if( isset( $_POST['status'] ) ) {
- switch( strtolower( $_POST['status'] ) )
+ switch( $_POST['status'] )
{
- case 'running':
+ case STATUS_RUNNING:
$query .= "WHERE Job.JobStatus = 'R' ";
break;
- case 'waiting':
- $query .= "WHERE Job.JobStatus IN ('F','S','M','m','s','j','c','d','t','C','R') ";
+ case STATUS_WAITING:
+ $query .= "WHERE Job.JobStatus IN ('F','S','M','m','s','j','c','d','t','p','C') ";
break;
- case 'completed':
- $query .= "WHERE Job.JobStatus = 'T' ";
+ case STATUS_COMPLETED:
+ $query .= "WHERE Job.JobStatus IN ('T', 'E') ";
break;
- case 'failed':
+ case STATUS_FAILED:
$query .= "WHERE Job.JobStatus = 'f' ";
break;
- case 'canceled':
+ case STATUS_CANCELED:
$query .= "WHERE Job.JobStatus = 'A' ";
break;
}
+ $dbSql->tpl->assign('job_status_filter', $_POST['status'] );
}
// order by
$query .= "ORDER BY Job.JobId DESC ";
+ // Jobs per page
+ $jobs_per_page = array( 25 => '25', 50 => '50', 75 => '75', 100 => '100', 150 => '150' );
+
// Determine how many jobs to display
- if( isset($_POST['limit']) )
- $query .= "LIMIT " . $_POST['limit'];
- else
- $query .= "LIMIT 20 ";
-
- //echo $query . '
';
+ if( isset($_POST['jobs_per_page']) ) {
+ $query .= "LIMIT " . $_POST['jobs_per_page'];
+ $dbSql->tpl->assign( 'jobs_per_page_selected', $_POST['jobs_per_page'] );
+ }else
+ $query .= "LIMIT 25 ";
+ $dbSql->tpl->assign( 'jobs_per_page', $jobs_per_page );
$jobsresult = $dbSql->db_link->query( $query );
if( PEAR::isError( $jobsresult ) ) {
- echo "SQL query = $query
";
- die("Unable to get last failed jobs from catalog" . $jobsresult->getMessage() );
+ $dbSql->TriggerDBError( "Unable to get last failed jobs from catalog", $jobresult );
}else {
while( $job = $jobsresult->fetchRow( DB_FETCHMODE_ASSOC ) ) {
// Determine icon for job status
- switch( $job['JobStatus'] ) {
- case 'R':
+ switch( $job['jobstatus'] ) {
+ case J_RUNNING:
$job['Job_icon'] = "running.png";
break;
- case 'T':
- $job['Job_icon'] = "s_ok.png";
+ case J_COMPLETED:
+ $job['Job_icon'] = "ok.png";
+ break;
+ case J_CANCELED:
+ $job['Job_icon'] = "canceled.png";
+ break;
+ case J_COMPLETED_ERROR:
+ $job['Job_icon'] = "warning.png";
break;
- case 'A':
- case 'f':
- case 'E':
- $job['Job_icon'] = "s_error.gif";
+ case J_FATAL:
+ $job['Job_icon'] = "error.png";
break;
- case 'F':
- case 'S':
- case 'M':
- case 'm':
- case 's':
- case 'j':
- case 'c':
- case 'd':
- case 't':
- case 'C':
+ case J_WAITING_CLIENT:
+ case J_WAITING_SD:
+ case J_WAITING_MOUNT_MEDIA:
+ case J_WAITING_NEW_MEDIA:
+ case J_WAITING_STORAGE_RES:
+ case J_WAITING_JOB_RES:
+ case J_WAITING_CLIENT_RES:
+ case J_WAITING_MAX_JOBS:
+ case J_WAITING_START_TIME:
+ case J_NOT_RUNNING:
$job['Job_icon'] = "waiting.png";
break;
} // end switch
@@ -108,23 +127,20 @@
$job['Job_classe'] = 'odd';
// Elapsed time for the job
- if( $job['StartTime'] == '0000-00-00 00:00:00' )
- $job['elapsed_time'] = 'N/A';
- elseif( $job['EndTime'] == '0000-00-00 00:00:00' )
- $job['elapsed_time'] = $dbSql->Get_ElapsedTime( strtotime($job['StartTime']), mktime() );
- else
- $job['elapsed_time'] = $dbSql->Get_ElapsedTime( strtotime($job['StartTime']), strtotime($job['EndTime']) );
-
- // Job Level
- $job['Level'] = $job_level[ $job['Level'] ];
+ $start = $job['starttime'];
+ $end = $job['endtime'];
+ // Job execution execution time
+ $job['elapsed_time'] = CTimeUtils::Get_Elapsed_Time( $start, $end);
+ // Job Level
+ $job['Level'] = $job_level[ $job['level'] ];
// Job Size
- $job['JobBytes'] = $dbSql->human_file_size( $job['JobBytes'] );
+ $job['jobbytes'] = CUtils::Get_Human_Size( $job['jobbytes'] );
array_push( $last_jobs, $job);
}
}
- $smarty->assign( 'last_jobs', $last_jobs );
+ $dbSql->tpl->assign( 'last_jobs', $last_jobs );
// Count jobs
if( isset( $_POST['status'] ) )
@@ -132,8 +148,8 @@
else
$total_jobs = $dbSql->CountJobs( ALL );
- $smarty->assign( 'total_jobs', $total_jobs );
+ $dbSql->tpl->assign( 'total_jobs', $total_jobs );
// Process and display the template
- $smarty->display('jobs.tpl');
+ $dbSql->tpl->display('jobs.tpl');
?>