$withDisabled = '1' == Tools::getSecureGETIntValue('withDisabledProjects', 1) ? true : false; // --- define the list of tasks the user can display // All projects from teams where I'm a Developper or Manager AND Observer $allProject[0] = T_('(all)'); $dTeamList = $user->getDevTeamList(); $devProjList = count($dTeamList) > 0 ? $user->getProjectList($dTeamList, true, $withDisabled) : array(); $managedTeamList = $user->getManagedTeamList(); $managedProjList = count($managedTeamList) > 0 ? $user->getProjectList($managedTeamList, true, $withDisabled) : array(); $oTeamList = $user->getObservedTeamList(); $observedProjList = count($oTeamList) > 0 ? $user->getProjectList($oTeamList, true, $withDisabled) : array(); $projList = $allProject + $devProjList + $managedProjList + $observedProjList; // WORKAROUND if ($_GET['bugid'] == 'null') { $_GET['bugid'] = 0; } $smartyHelper->assign('bugs', SmartyTools::getBugs(Tools::getSecureGETIntValue('projectid'), Tools::getSecureGETIntValue('bugid', 0), $projList)); $smartyHelper->display('form/bugSelector'); } elseif ($_GET['action'] == 'getYearsToNow') { $team = TeamCache::getInstance()->getTeam(Tools::getSecureGETIntValue('teamid')); $min_year = date("Y", $team->getDate()); $year = isset($_POST['year']) && $_POST['year'] > $min_year ? $_POST['year'] : $min_year; $smartyHelper->assign('years', SmartyTools::getYearsToNow($min_year, $year)); $smartyHelper->display('form/yearSelector'); } else { Tools::sendNotFoundAccess(); } } else { if ($_POST['action']) { if ($_POST['action'] == 'updateBacklogAction') { $issue = IssueCache::getInstance()->getIssue(Tools::getSecurePOSTIntValue('bugid')); $issue->setBacklog(Tools::getSecurePOSTNumberValue('backlog'));
protected function display() { if (Tools::isConnectedUser()) { $user = UserCache::getInstance()->getUser($_SESSION['userid']); $teamid = $_SESSION['teamid']; $teamList = $user->getTeamList(); if (count($teamList) > 0) { // --- define the list of tasks the user can display // All projects from teams where I'm a Developper or Manager AND Observer $allProject[0] = T_('(all)'); $dTeamList = $user->getDevTeamList(); $devProjList = count($dTeamList) > 0 ? $user->getProjectList($dTeamList, true, false) : array(); $managedTeamList = $user->getManagedTeamList(); $managedProjList = count($managedTeamList) > 0 ? $user->getProjectList($managedTeamList, true, false) : array(); $oTeamList = $user->getObservedTeamList(); $observedProjList = count($oTeamList) > 0 ? $user->getProjectList($oTeamList, true, false) : array(); $projList = $allProject + $devProjList + $managedProjList + $observedProjList; // if 'support' is set in the URL, display graphs for 'with/without Support' $displaySupport = filter_input(INPUT_GET, 'support') ? true : false; if ($displaySupport) { $this->smartyHelper->assign('support', $displaySupport); } if (filter_input(INPUT_GET, 'bugid')) { $bug_id = Tools::getSecureGETIntValue('bugid', 0); } else { if (isset($_SESSION['bugid'])) { $bug_id = $_SESSION['bugid']; } else { $bug_id = 0; unset($_SESSION['bugid']); } } $bugs = NULL; $projects = NULL; if ($bug_id != 0) { try { $issue = IssueCache::getInstance()->getIssue($bug_id); $defaultProjectid = $issue->getProjectId(); $bugs = SmartyTools::getBugs($defaultProjectid, $bug_id); if (array_key_exists($defaultProjectid, $projList) && array_key_exists($bug_id, $bugs)) { $consistencyErrors = NULL; $ccheck = new ConsistencyCheck2(array($issue)); $cerrList = $ccheck->check(); if (0 != count($cerrList)) { foreach ($cerrList as $cerr) { $consistencyErrors[] = array('severity' => $cerr->getLiteralSeverity(), 'severityColor' => $cerr->getSeverityColor(), 'desc' => $cerr->desc); } $this->smartyHelper->assign('ccheckButtonTitle', count($consistencyErrors) . ' ' . T_("Errors")); $this->smartyHelper->assign('ccheckBoxTitle', count($consistencyErrors) . ' ' . T_("Errors")); $this->smartyHelper->assign('ccheckErrList', $consistencyErrors); } $this->smartyHelper->assign('isManager', $user->isTeamManager($teamid)); $this->smartyHelper->assign('isObserver', $user->isTeamObserver($teamid)); $isManagerView = array_key_exists($issue->getProjectId(), $managedProjList) ? true : false; $isObserverView = array_key_exists($issue->getProjectId(), $observedProjList) ? true : false; $this->smartyHelper->assign('issueGeneralInfo', IssueInfoTools::getIssueGeneralInfo($issue, $isManagerView || $isObserverView, $displaySupport)); $timeTracks = $issue->getTimeTracks(); $this->smartyHelper->assign('jobDetails', $this->getJobDetails($timeTracks)); $this->smartyHelper->assign('timeDrift', $this->getTimeDrift($issue)); $this->smartyHelper->assign('months', $this->getCalendar($issue, $timeTracks)); // set Commands I belong to $parentCmds = $this->getParentCommands($issue); $this->smartyHelper->assign('parentCommands', $parentCmds); $this->smartyHelper->assign('nbParentCommands', count($parentCmds)); } $projects = SmartyTools::getSmartyArray($projList, $defaultProjectid); $_SESSION['projectid'] = $defaultProjectid; $_SESSION['bugid'] = $bug_id; // Dashboard IssueInfoTools::dashboardSettings($this->smartyHelper, $issue, $this->session_userid, $this->teamid); } catch (Exception $e) { self::$logger->warn("issue {$bug_id} not found in mantis DB !"); unset($_SESSION['bugid']); } } else { try { $defaultProjectid = 0; if (isset($_SESSION['projectid']) && 0 != $_SESSION['projectid']) { $defaultProjectid = $_SESSION['projectid']; $bugs = SmartyTools::getBugs($defaultProjectid, $bug_id); } else { $bugs = SmartyTools::getBugs($defaultProjectid, $bug_id, $projList); } $projects = SmartyTools::getSmartyArray($projList, $defaultProjectid); } catch (Exception $e) { self::$logger->warn("issue {$bug_id} not found in mantis DB !"); unset($_SESSION['bugid']); } } $this->smartyHelper->assign('bugs', $bugs); $this->smartyHelper->assign('projects', $projects); } } }