status = $context['status']; $this->job_id = $context['job_id']; $this->department_id = $context['department_id']; $this->user_id = $context['user_id']; parent::set_data($context); $this->order = (empty($context['order'])) ? "DESC" : $context['order']; $this->method = (empty($context['method'])) ? "id" : $context['method']; } public function get_data() { global $database; $status = $this->status; $job_id = $this->job_id; $department_id = $this->department_id; $user_id = $this->user_id; $where_sql = ""; $where_sql .= (!empty($user_id)) ? " AND `user_id` = '$user_id' " : ""; $where_sql .= (!empty($job_id)) ? " AND `job_id` = '$job_id' " : ""; $where_sql .= (!empty($department_id)) ? " AND `department` = '$department_id' " : ""; //$where_sql .= (!empty($department_id)) ? " AND (`department` = '$department_id' " : ""; if(!empty($job_id)) { $job_details = common_jobs::get_details($job_id); $quote_id = $job_details['quote_id']; $departments = common_production_department::get_quote_departments($quote_id); $in_departments = ""; if(count($departments) > 0) { foreach($departments AS $key => $values) $in_departments .= "'".$key."',"; $where_sql .= " AND department IN (".substr($in_departments,0,strlen($in_departments) - 1).")"; //$where_sql .= " OR department IN (".substr($in_departments,0,strlen($in_departments) - 1)."))"; } } $sql = " SELECT * FROM job_trackings WHERE `status` = '$status' $where_sql "; $results = $database->getAll($sql); $count = 0; $users = common_users::get_all_names_link(); $departments = common_production_department::get_departments(); $return_results = array(); $current_date_time = date('Y-m-d G:i:s'); foreach($results AS $result) { $result['name'] = $users[$result['user_id']]; $result['submitter'] = $users[$result['submitter']]; $result['department_name'] = $departments[$result['department']]['department_name']; if($result['end_time'] == "0000-00-00 00:00:00") { $result['end_time'] = "I am Still working !"; $result['duration'] = common_timesheets::get_duration($result['start_time'],$current_date_time); $result['in_minutes'] = common_job_trackings::get_duration_minute($result['start_time'],$current_date_time); } else { $result['duration'] = common_timesheets::get_duration($result['start_time'],$result['end_time']); $result['in_minutes'] = common_job_trackings::get_duration_minute($result['start_time'],$result['end_time']); } $final_results[] = $result; } $this->final_results = $final_results; self::prepare(); return $this; } public function list_body() { $results = $this->final_results; $job_id = $this->job_id; $avail_status = $this->avail_status; $avail_edit = $this->avail_edit; $link_view = $this->link_view; $link_edit = $this->link_edit; $columns = $this->columns; $sortable = $this->sortable; $pagination = $this->pagination; $start = $this->start; $size = $this->size; $total_results = $this->total_results; $max_size = $this->max_size; $normalise_get = $this->normalise_get; $new_normalised_results = $this->normalised_results; $count = 0; if(count($results) > 0) { ?>'.$results[$key]['end_time'].""; $total_minutes += $results[$key]['in_minutes'] ?>edit $value) { if($value['view'] == true) { ?>    $value) { if($key == "duration") { ?>