public function deleteAction($id = false) { $this->permission('delete'); if (!$id) { return Brightery::error404("The page you requested is not found."); } $model = new \modules\pm\models\Pm_teams(); $members = new \modules\pm\models\Pm_team_users(); $model->pm_team_id = $id; $members->pm_team_users_id = $id; if ($model->delete()) { $members->delete(); } Uri_helper::redirect("management/pm_teams"); }
public function indexAction($id = false) { if (!$id) { return Brightery::error404(); } $this->permission('index'); $users = new \modules\users\models\Users(); $users->_select = "user_id,fullname,image,status,\n (SELECT usergroups.name FROM usergroups WHERE usergroups.usergroup_id = users.usergroup_id) AS usergroup\n "; $users->user_id = $id; $teams = new \modules\pm\models\Pm_team_users(); $teams->_select = "pm_team_users_id, user_id,\n (SELECT pm_teams.title FROM pm_teams WHERE pm_teams.pm_team_id = Pm_team_users.pm_team_id) AS team,\n (SELECT pm_roles.title FROM pm_roles WHERE pm_roles.pm_role_id = Pm_team_users.pm_role_id) AS role\n "; $teams->user_id = $id; $project_count = $this->database->query("SELECT COUNT(*) AS projects\n FROM (\n SELECT DISTINCT `pm_projects`.`pm_project_id`\n FROM `brighterycms`.`pm_projects`\n RIGHT JOIN `brighterycms`.`pm_teams_projects`ON (`pm_teams_projects`.`pm_project_id` = `pm_projects`.`pm_project_id`)\n INNER JOIN `brighterycms`.`pm_teams` ON (`pm_teams_projects`.`pm_team_id` = `pm_teams`.`pm_team_id`)\n INNER JOIN `brighterycms`.`pm_team_users` ON (`pm_team_users`.`pm_team_id` = `pm_teams`.`pm_team_id`)\n WHERE (`pm_team_users`.`user_id` = {$id})\n ) t;")->row(); $issue_count = $this->database->query("SELECT COUNT(*) AS issues\n FROM (\n SELECT pm_history.pm_issue_id\n FROM\n `brighterycms`.`pm_history`\n INNER JOIN `brighterycms`.`pm_issues`\n ON (`pm_history`.`pm_issue_id` = `pm_issues`.`pm_issue_id`)\n WHERE (`pm_history`.`actions` ='assign' AND `pm_history`.`to_user_id` = {$id})\n ) s;")->row(); $assign = $this->database->query("SELECT pm_issues.title AS issue_title ,pm_issues.pm_issue_id, actions = 'assign' AS assign ,\n DATETIME AS assigned_date , NAME AS priority , pm_priorities.color AS p_color , pm_issue_statues.`title` AS statues , pm_issue_statues.`color` AS s_color\n FROM pm_issues JOIN pm_history\n ON pm_issues.`pm_issue_id`= pm_history.`pm_issue_id`\n JOIN users\n ON users.user_id = pm_history.to_user_id\n JOIN pm_priorities\n ON pm_priorities.`pm_priority_id` = pm_issues.`pm_priority_id`\n JOIN pm_issue_statues\n ON pm_issue_statues.`pm_issue_statues_id` = pm_issues.`pm_issue_statues_id`\n WHERE pm_history.to_user_id = {$id}")->result(); $actions = $this->database->query("SELECT *, 'Infraction' AS actions , (SELECT pm_issues.`title` FROM pm_issues WHERE pm_issues.`pm_issue_id` = pm_infractions.`pm_issue_id`) AS issue_title FROM `pm_infractions`\n WHERE pm_infractions.`user_id` = {$id}\n UNION\n SELECT *, 'Reputation' AS actions , (SELECT pm_issues.`title` FROM pm_issues WHERE pm_issues.`pm_issue_id` = pm_reputations.`pm_issue_id`) AS issue_title FROM `pm_reputations`\n WHERE pm_reputations.`user_id` = {$id}")->result(); return $this->render('pm_user_profile/index', ['item' => $users->get(), 'teams' => $teams->get(), 'assign' => $assign, 'actions' => $actions, 'project_count' => $project_count, 'issue_count' => $issue_count]); }