Пример #1
0
 /**
  * @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'));
 }
Пример #2
0
 /**
  * @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);
 }