|
@@ -15,9 +15,13 @@ function tripal_jobs_report_form($form, &$form_state = NULL) {
|
|
|
|
|
|
// set the default values
|
|
|
$default_status = $form_state['values']['job_status'];
|
|
|
+ $default_job_name = $form_state['values']['job_name'];
|
|
|
|
|
|
if (!$default_status) {
|
|
|
- $default_status = $_SESSION['tripal_job_status_filter'];
|
|
|
+ $default_status = $_SESSION['tripal_job_filter']['job_status'];
|
|
|
+ }
|
|
|
+ if (!$default_job_name) {
|
|
|
+ $default_job_name = $_SESSION['tripal_job_filter']['job_name'];
|
|
|
}
|
|
|
|
|
|
$form['job_status'] = array(
|
|
@@ -33,6 +37,12 @@ function tripal_jobs_report_form($form, &$form_state = NULL) {
|
|
|
'Error' => 'Error',
|
|
|
),
|
|
|
);
|
|
|
+ $form['job_name'] = array(
|
|
|
+ '#type' => 'textfield',
|
|
|
+ '#title' => t('Filter by Job Name'),
|
|
|
+ '#description' => t('The jobs will be filtered if text provided is contained in the job name'),
|
|
|
+ '#default_value' => $default_job_name,
|
|
|
+ );
|
|
|
|
|
|
$form['submit'] = array(
|
|
|
'#type' => 'submit',
|
|
@@ -45,8 +55,12 @@ function tripal_jobs_report_form($form, &$form_state = NULL) {
|
|
|
* @ingroup tripal_core
|
|
|
*/
|
|
|
function tripal_jobs_report_form_submit($form, &$form_state = NULL) {
|
|
|
+
|
|
|
$job_status = $form_state['values']['job_status'];
|
|
|
- $_SESSION['tripal_job_status_filter'] = $job_status;
|
|
|
+ $job_name = $form_state['values']['job_name'];
|
|
|
+
|
|
|
+ $_SESSION['tripal_job_filter']['job_status'] = $job_status;
|
|
|
+ $_SESSION['tripal_job_filter']['job_name'] = $job_name;
|
|
|
}
|
|
|
/**
|
|
|
* Returns the Tripal Job Report
|
|
@@ -62,7 +76,8 @@ function tripal_jobs_report() {
|
|
|
// change the status of jobs that have errored out
|
|
|
tripal_jobs_check_running();
|
|
|
|
|
|
- $jobs_status_filter = $_SESSION['tripal_job_status_filter'];
|
|
|
+ $job_status = $_SESSION['tripal_job_filter']['job_status'];
|
|
|
+ $job_name = $_SESSION['tripal_job_filter']['job_name'];
|
|
|
|
|
|
$sql = "
|
|
|
SELECT
|
|
@@ -70,13 +85,21 @@ function tripal_jobs_report() {
|
|
|
TJ.status as job_status, TJ,submit_date,TJ.start_time,
|
|
|
TJ.end_time,TJ.priority,U.name as username
|
|
|
FROM {tripal_jobs} TJ
|
|
|
- INNER JOIN {users} U on TJ.uid = U.uid ";
|
|
|
- if ($jobs_status_filter) {
|
|
|
- $sql .= "WHERE TJ.status = '%s' ";
|
|
|
+ INNER JOIN {users} U on TJ.uid = U.uid
|
|
|
+ WHERE 1=1
|
|
|
+ ";
|
|
|
+ $args = array();
|
|
|
+ if ($job_status) {
|
|
|
+ $sql .= "AND TJ.status = '%s' ";
|
|
|
+ $args[] = $job_status;
|
|
|
+ }
|
|
|
+ if ($job_name) {
|
|
|
+ $sql .= "AND TJ.job_name like '%%%s%%'";
|
|
|
+ $args[] = $job_name;
|
|
|
}
|
|
|
$sql .= "ORDER BY job_id DESC";
|
|
|
|
|
|
- $jobs = pager_query($sql, 25, 0, "SELECT count(*) FROM ($sql) as t1", $jobs_status_filter);
|
|
|
+ $jobs = pager_query($sql, 25, 0, "SELECT count(*) FROM ($sql) as t1", $args);
|
|
|
$header = array(
|
|
|
'Job ID',
|
|
|
'User',
|