Пример #1
0
 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]);
 }