Пример #1
0
 /**
  * @param sfWebRequest $request
  * @return sfView
  */
 public function executeUpdateTagFilter(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)));
     if ($request->getParameter('filter_action') == 'add') {
         $roleFilter = new TagFilter();
         $roleFilter->decision_id = $decision_id;
         $roleFilter->tag_id = $request->getParameter('tag_id');
         $roleFilter->save();
     } else {
         if ($request->getParameter('filter_action') == 'delete') {
             $tf_by_name = Doctrine_Query::create()->from('TagFilter tf')->select('tf.id')->leftJoin('tf.Tag t')->where("t.name = ?", $request->getParameter('tag_name'))->andWhere('tf.decision_id = ?', $decision_id)->execute();
             foreach ($tf_by_name as $v) {
                 Doctrine_Query::create()->delete('TagFilter')->where('id = ?', $v->id)->execute();
             }
         }
     }
     Doctrine_Query::create()->delete('Graph')->where('decision_id = ?', $decision_id)->execute();
     $criteriaAnalyze = new CriteriaAnalyze();
     $criteriaAnalyze->setDecisionId($decision_id);
     $criteriaAnalyze->load();
     return $this->getUpdateActionResponse($criteriaAnalyze, $decision_id);
 }