Exemplo n.º 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'));
 }
Exemplo n.º 2
0
 /**
  * @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;
 }
Exemplo n.º 3
0
 /**
  * @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);
 }