/** * @param sfWebRequest $request */ public function executeIndex(sfWebRequest $request) { $decision_id = $request->getParameter('decision_id', false); $this->decision = DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id); $this->forward404Unless(is_object($this->decision)); $this->popularCriteria = Doctrine::getTable('PopularCriterion')->findAll(); $this->dashboard = new Dashboard(); $this->dashboard->load($this->getUser()->getGuardUser(), $request->getParameter('decision_id')); $criteriaAnalyze = new CriteriaAnalyze(); $criteriaAnalyze->setDecisionId($decision_id); if ($this->decision->save_graph_weight) { $criteriaAnalyze->loadData(); } else { $criteriaAnalyze->load(); } $this->stackedBarChart = new StackedBarChart(); $this->stackedBarChart->setDecisionId($decision_id); $this->stackedBarChart->setCriteriaValues($criteriaAnalyze->getCriteriaValues()); $this->stackedBarChart->load(); $costAnalyze = new CostAnalyze(); $costAnalyze->setDecisionId($decision_id); $costAnalyze->setSortedAlternativeIds($this->stackedBarChart->getSortedAlternativeIds()); $costAnalyze->setCumulativeData($this->stackedBarChart->getCumulativeData()); $costAnalyze->load(); $this->cumulativeChart = new CumulativeGainChart(); $this->cumulativeChart->setDecisionId($decision_id); $this->cumulativeChart->setSortedAlternativeIds($this->stackedBarChart->getSortedAlternativeIds()); $this->cumulativeChart->setMeasurement($this->stackedBarChart->getCumulativeData()); $this->cumulativeChart->setCostData($costAnalyze->getData()); $this->cumulativeChart->setAlternativeNames($costAnalyze->getAlternativeNames()); $this->cumulativeChart->setCriterionNames($costAnalyze->getCriteria()); $this->cumulativeChart->load(); $this->alternatives_json = AlternativeTable::getInstance()->getDashboardReleaseJSON($decision_id, $this->stackedBarChart->getSortedAlternativeIds()); $this->releases = ProjectReleaseTable::getInstance()->getList($decision_id); $this->upload_widget = new laWidgetFileUpload(array('module_partial' => 'decision/upload_widget')); }
/** * @param sfWebRequest $request * @return string */ public function executeRemoveReleaseItem(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $release_id = $request->getParameter('release_id'); /** @var ProjectRelease $projectRelease */ $projectRelease = ProjectReleaseTable::getInstance()->find($release_id); /** @var ProjectReleaseAlternative $projectReleaseAlternative */ $projectReleaseAlternative = ProjectReleaseAlternativeTable::getInstance()->findByDql('release_id = ? AND alternative_id = ?', array($release_id, $request->getParameter('alternative_id')))->getFirst(); $projectRelease->value -= $projectReleaseAlternative->value; $projectRelease->save(); $projectReleaseAlternative->delete(); return sfView::NONE; }
/** * @param sfWebRequest $request */ public function executePlanner(sfWebRequest $request) { $decision_id = $request->getParameter('decision_id', false); $this->decision = DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id); $this->forward404Unless($this->decision); $this->criteriaAnalyze = new CriteriaAnalyze(); $this->criteriaAnalyze->setDecisionId($decision_id); $this->criteriaAnalyze->load(); $this->logicalFilter = new LogicalFilterView(); $this->logicalFilter->setDecisionId($decision_id); $this->logicalFilter->load(); $this->roleFilter = new RoleFilterView(); $this->roleFilter->setDecisionId($decision_id); $this->roleFilter->load(); $this->statusFilter = new StatusFilterView(); $this->statusFilter->setDecisionId($decision_id); $this->statusFilter->load(); $this->tagFilter = new TagFilterView(); $this->tagFilter->setDecisionId($decision_id); $this->tagFilter->load(); $this->stackedBarChart = new StackedBarChart(); $this->stackedBarChart->setDecisionId($decision_id); $this->stackedBarChart->setCriteriaValues($this->criteriaAnalyze->getCriteriaValues()); $this->stackedBarChart->setRoleFilterData($this->roleFilter->getData()); $this->stackedBarChart->setStatusFilterData($this->statusFilter->getData()); $this->stackedBarChart->setTagFilterData($this->tagFilter->getDataForSQL()); $this->stackedBarChart->setFilteredAlternativesIds($this->logicalFilter->getFilteredAlternativesIds()); $this->stackedBarChart->load(); $this->costAnalyze = new CostAnalyze(); $this->costAnalyze->setDecisionId($decision_id); $this->costAnalyze->setSortedAlternativeIds($this->stackedBarChart->getSortedAlternativeIds()); $this->costAnalyze->setRoleFilterData($this->roleFilter->getData()); $this->costAnalyze->setStatusFilterData($this->statusFilter->getData()); $this->costAnalyze->setTagFilterData($this->tagFilter->getDataForSQL()); $this->costAnalyze->setCumulativeData($this->stackedBarChart->getCumulativeData()); $this->costAnalyze->setFilteredAlternativesIds($this->logicalFilter->getFilteredAlternativesIds()); $this->costAnalyze->load(); // release planner $this->alternatives_json = AlternativeTable::getInstance()->getDashboardReleaseJSON($decision_id, $this->stackedBarChart->getSortedAlternativeIds()); $this->releases = ProjectReleaseTable::getInstance()->getList($decision_id); }