Split job logic into model and controller

There was a weird mix between the both of them.
This commit is contained in:
Karsten Heiken
2011-04-22 03:24:18 +02:00
parent b813f9b5f3
commit 79a2b3bafb
2 changed files with 25 additions and 12 deletions

View File

@@ -7,6 +7,7 @@ class Jobs extends CI_Controller {
*/ */
public function __construct() { public function __construct() {
parent::__construct(); parent::__construct();
$this->load->model('job');
// load language file // load language file
$this->lang->load(strtolower($this->router->class)); $this->lang->load(strtolower($this->router->class));
@@ -49,23 +50,20 @@ class Jobs extends CI_Controller {
) )
)); ));
} }
public function listResultsNotSeen() {
$query = $this->db->order_by('started_at', 'asc')
->get_where('jobs', array('started_by' => $this->session->userdata('user_id'), 'seen' => '0'));
$count = $query->num_rows();
$jobs = $query->result_array();
for($i=0; $i<count($jobs); $i++) {
$jobs[$i]['project_name'] = $this->db->select('name')->get_where('projects', array('id' => $jobs[$i]['project_id']))->row()->name;
}
/**
* Get a list of results that the owner has not yet seen.
* @todo not yet verified
*/
public function get_unseen_results() {
$results = $this->job->get_unseen_results();
$this->output $this->output
->set_content_type('application/json') ->set_content_type('application/json')
->set_output(json_encode( ->set_output(json_encode(
array( array(
'count' => $count, 'count' => count($results),
'jobs' => $jobs 'results' => $results
) )
)); ));
} }

View File

@@ -20,4 +20,19 @@ class Job extends CI_Model {
$this->db->escape($progress).$finished_at. " WHERE `id`=". $this->db->escape($progress).$finished_at. " WHERE `id`=".
$this->db->escape($job_id)); $this->db->escape($job_id));
} }
/**
* Get a list of results that the owner has not yet seen.
*/
public function get_unseen_results() {
$query = $this->db->order_by('started_at', 'asc')
->get_where('jobs', array('started_by' => $this->session->userdata('user_id'), 'seen' => '0'));
$jobs = $query->result_array();
for($i=0; $i<count($jobs); $i++) {
$jobs[$i]['project_name'] = $this->db->select('name')->get_where('projects', array('id' => $jobs[$i]['project_id']))->row()->name;
}
return $jobs;
}
} }