Example #1
0
 /**
  * Get the associated EnumItem object
  *
  * @param      PropelPDO Optional Connection object.
  * @return     EnumItem The associated EnumItem object.
  * @throws     PropelException
  */
 public function getEnumItemRelatedByParentId(PropelPDO $con = null)
 {
     if ($this->aEnumItemRelatedByParentId === null && $this->parent_id !== null) {
         $c = new Criteria(EnumItemPeer::DATABASE_NAME);
         $c->add(EnumItemPeer::ID, $this->parent_id);
         $this->aEnumItemRelatedByParentId = EnumItemPeer::doSelectOne($c, $con);
         /* The following can be used additionally to
         		   guarantee the related object contains a reference
         		   to this object.  This level of coupling may, however, be
         		   undesirable since it could result in an only partially populated collection
         		   in the referenced object.
         		   $this->aEnumItemRelatedByParentId->addEnumItemsRelatedByParentId($this);
         		 */
     }
     return $this->aEnumItemRelatedByParentId;
 }
Example #2
0
 public function executeEdit(sfWebRequest $request)
 {
     $this->scale_PID = skuleadminConst::RATING_SCALE_TYPES_PID;
     $this->forward404Unless($rating_field = RatingFieldPeer::retrieveByPk($request->getParameter('id')), sprintf('Object rating_field does not exist (%s).', $request->getParameter('id')));
     if ($rating_field->getIsReserved()) {
         $this->is_reserved = true;
         $this->rating = array('descr' => $rating_field->getDescr());
         $c = new Criteria();
         $c->add(EnumItemPeer::ID, $rating_field->getTypeId());
         $type = EnumItemPeer::doSelectOne($c);
         if ($rating_field->getTypeId() > 30 && $rating_field->getTypeId() < 40) {
             //its a scale!
             $c2 = new Criteria();
             $c2->add(EnumItemPeer::ID, $type->getParentId());
             $type_parent = EnumItemPeer::doSelectOne($c2);
             $this->rating['type_id'] = $type_parent->getDescr();
             $this->rating['scale'] = $type->getDescr();
         } else {
             $this->rating['type_id'] = $type->getDescr();
         }
     } else {
         $this->form = new RatingFieldForm($rating_field);
         if ($rating_field->getTypeId() > 30 && $rating_field->getTypeId() < 40) {
             $c = new Criteria();
             $c->add(EnumItemPeer::ID, $rating_field->getTypeId());
             $type = EnumItemPeer::doSelectOne($c);
             $this->form->setValue('type_scale', $type->getParentId());
             $this->form->setValue('scale', $rating_field->getTypeId());
         }
     }
     $this->rating_field_list = $this->getRatingCriteriaList();
     $this->setTemplate('list');
 }