public function indexAction($offset = 0)
 {
     $this->permission('index');
     $this->load->library('pagination');
     $pm_issues = new \modules\pm\models\Pm_issues();
     $pm_issues->_select = "pm_issue_id, title, pm_issue_statues_id";
     $pm_issue_statues = new \modules\pm\models\Pm_issue_statues();
     $pm_issue_statues->_select = "pm_issue_statues_id, title, color";
     $pm_issue_statues->_limit = $this->config->get('limit');
     $pm_issue_statues->_offset = $offset;
     return $this->render('pm_sticky_issues/index', ['items' => $pm_issue_statues->get(), 'issues' => $pm_issues->get(), 'issue_model' => $pm_issues, 'pagination' => $this->Pagination->generate(['url' => Uri_helper::url('management/pm_sticky_issues/index'), 'total' => $pm_issue_statues->get(true), 'limit' => $pm_issue_statues->_limit, 'offset' => $pm_issue_statues->_offset])]);
 }
 function indexAction($id = false)
 {
     if (!$id) {
         return Brightery::error404();
     }
     $this->permission('index');
     $projects = new \modules\pm\models\Pm_projects();
     $projects->_select = "pm_project_id,title,about,deadline," . " (SELECT users.fullname FROM users WHERE users.user_id " . "= pm_projects.pm_supervisor_id) AS supervisor";
     $projects->pm_project_id = $id;
     $issues = new \modules\pm\models\Pm_issues();
     $issues->_select = "pm_issue_id,title";
     $issues->pm_project_id = $id;
     $team_result = $this->database->query("SELECT title,pm_teams.`pm_team_id` AS id\n                FROM pm_teams_projects JOIN pm_teams\n                ON pm_teams_projects.`pm_team_id` = pm_teams.`pm_team_id`\n                where pm_teams_projects.pm_project_id= {$id} ")->result();
     $member_result = [];
     foreach ($team_result as $value) {
         $member_result[] = ['team' => $value->title, 'member' => $this->database->query("SELECT  fullname , title\n                             FROM pm_team_users JOIN users\n                             ON pm_team_users.`user_id` = users.`user_id`                                                        \n                             JOIN pm_roles\n                             ON pm_team_users.`pm_role_id` = pm_roles.`pm_role_id`\n                             WHERE pm_team_users.pm_team_id={$value->id}\n                         ")->result()];
     }
     return $this->render('pm_project_details/index', ['item' => $projects->get(), 'issues' => $issues->get(), 'team_results' => $team_result, 'member_results' => $member_result]);
 }
 public function deleteAction($id = false)
 {
     $this->permission('delete');
     if (!$id) {
         Brightery::error404("The page you requested is not found.");
     }
     $model = new \modules\pm\models\Pm_issues();
     $attach = new \modules\pm\models\Pm_attachments();
     $model->pm_issue_id = $id;
     $attach->pm_issue_id = $id;
     $attach->pm_attachment_id;
     if ($model->delete()) {
         Uri_helper::redirect("management/pm_issues");
     }
     if ($attach->delete()) {
         return json_encode(['sucess' => 1]);
     }
 }
 public function historyAction($id = false)
 {
     $this->layout = 'ajax';
     $model = new \modules\pm\models\Pm_history();
     $model->_select = "pm_history_id,actions,datetime,pm_issue_id,\n        (SELECT users.fullname FROM users WHERE users.user_id = pm_history.from_user_id) AS from_user,\n        (SELECT users.fullname FROM users WHERE users.user_id = pm_history.to_user_id) AS to_user\n        ";
     $issues = new \modules\pm\models\Pm_issues();
     $issues->_select = "pm_issue_id,title";
     $issues->pm_issue_id = $id;
     $model->_order_by['datetime'] = 'DESC';
     return $this->render('pm_issue_details/history', ['items' => $model->get(), 'issue' => $issues->get()]);
 }