public function manageAction($id = false) { $userInfo = $this->permissions->getUserInformation(); $this->permission('manage'); $users = Form_helper::queryToDropdown('users', 'user_id', 'fullname'); $priorities = Form_helper::queryToDropdown('pm_priorities', 'pm_priority_id', 'name'); $projects = Form_helper::queryToDropdown('pm_projects', 'pm_project_id', 'title'); $types = Form_helper::queryToDropdown('pm_issues_types', 'pm_issue_type_id', 'title'); $attach = new \modules\pm\models\Pm_attachments(false); $assign = new \modules\pm\models\Pm_history(false); if ($id) { $model = new \modules\pm\models\Pm_issues('edit'); $model->pm_issue_id = $id; $attach->pm_issue_id = $id; $assign->pm_issue_id = $id; } else { $model = new \modules\pm\models\Pm_issues('add'); $model->set('created_time', date('Y-m-d H:i:s')); } $model->set(['title' => $this->input->post('title'), 'description' => $this->input->post('description'), 'pm_reviewer_id' => $this->input->post('pm_reviewer_id'), 'pm_project_id' => $this->input->post('pm_project_id'), 'pm_priority_id' => $this->input->post('pm_priority_id'), 'estimated_time' => $this->input->post('estimated_time'), 'deadline' => $this->input->post('deadline'), 'pm_issue_type_id' => $this->input->post('pm_issue_type_id'), 'pm_issue_statues_id' => $this->input->post('pm_issue_statues_id')]); if ($issue_id = $model->save()) { if (!$id) { if ($this->input->post('to_user_id')) { $assign->set(['from_user_id' => $userInfo->user_id, 'to_user_id' => $this->input->post('to_user_id'), 'pm_issue_id' => $issue_id, 'actions' => 'assign', 'datetime' => date('Y-m-d H:i:s')]); $assign->save(); } } $attach->pm_issue_id = $issue_id; $attach->delete(); foreach ($this->input->post('uploaded_files') as $file) { $attach->pm_issue_id = $issue_id; $attach->file_name = $file; $attach->attachment_type = 'issue'; $attach->uploaded_time = date('Y-m-d H:i:s'); $attach->save(); } Uri_helper::redirect("management/pm_issues"); } else { return $this->render('pm_issues/manage', ['item' => $id ? $model->get() : null, 'attach' => $id ? $attach->get() : null, 'users' => $users, 'pm_projects' => $projects, 'priority' => $priorities, 'assign' => $assign, 'types' => $types]); } }
public function activitiesAction($id = false) { $this->layout = 'ajax'; $userInfo = $this->permissions->getUserInformation(); $activities = new \modules\pm\models\Pm_history('add'); $activities->from_user_id = $userInfo->user_id; $activities->pm_issue_id = $id; $activities->datetime = date('Y-m-d H:i:s'); $activities->actions = $this->input->post('actions'); if ($aid = $activities->save()) { $activities = new \modules\pm\models\Pm_history(); $activities->pm_history_id = $aid; return json_encode(['status' => 'success', 'item' => $activities->get(), 'total' => $activities->takenTime($id)]); } else { return json_encode(['status' => 'faild']); } }