Exemplo n.º 1
0
 public function executeAjaxFindCriteria(sfWebRequest $request)
 {
     if (!$request->isXmlHttpRequest()) {
         $this->forward404();
     }
     if (!$request->hasParameter("mapping_type")) {
         throw new Exception("ajax_query does not exist");
     }
     $selMappingType = $request->getParameter("mapping_type");
     $c = new Criteria();
     $crit1 = $c->getNewCriterion(EnumItemPeer::PARENT_ID, EnumItemPeer::MAPPING_ITEMS_NODE_ID);
     $crit2 = $c->getNewCriterion(EnumItemPeer::DESCR, trim($selMappingType));
     $c->addAnd($crit1);
     $c->addAnd($crit2);
     $selMappingType = EnumItemPeer::doSelectOne($c);
     if (!isset($selMappingType)) {
         return sfView::NONE;
     }
     echo "<script type='text/javascript'>var selEl = document.getElementById('mapping_table').rows[parseInt(selected_row_index)+1].cells[4].children[0]; selEl.innerHTML=\"";
     if ($selMappingType->getId() == EnumItemPeer::MAPPING_QUESTION) {
         $c = new Criteria();
         $crit1 = $c->getNewCriterion(RatingFieldPeer::TYPE_ID, EnumItemPeer::RATING_BOOLEAN);
         $crit2 = $c->getNewCriterion(EnumItemPeer::PARENT_ID, EnumItemPeer::RATING_SCALE);
         $crit1->addOr($crit2);
         $c->addAnd($crit1);
         $criteria = RatingFieldPeer::doSelectJoinEnumItem($c);
         foreach ($criteria as $criterion) {
             echo "<option value=", $criterion->getId(), ">", $criterion->getDescr(), "</option>";
         }
     } else {
         echo "<option value=''></option>";
     }
     echo "\"; makeSelectSelection(selEl, document.getElementById('mapping_criterion'));";
     echo "fetchScales(document.getElementById('mapping_criterion').value);</script>";
     return sfView::NONE;
 }