/** * @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 sfView */ public function executeUpdate(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $decision_id = $request->getParameter('decision_id', false); $this->forward404Unless(is_object(DecisionTable::getInstance()->getDecisionForUser($this->getUser()->getGuardUser(), $decision_id))); $criteriaAnalyze = new CriteriaAnalyze(); $criteriaAnalyze->setDecisionId($decision_id); $criteriaAnalyze->setData($request->getParameter('graph', array())); // save data to database if ($request->getParameter('save', false)) { $criteriaAnalyze->saveData(); } // load data from database if ($request->getParameter('editable', false)) { $criteriaAnalyze = new CriteriaAnalyze(); $criteriaAnalyze->setDecisionId($decision_id); $criteriaAnalyze->loadData(); return $this->getUpdateActionResponse($criteriaAnalyze, $decision_id, true); } return $this->getUpdateActionResponse($criteriaAnalyze, $decision_id); }