public function configure() { $tags = array(); foreach (PcContactTagPeer::doSelect(new Criteria()) as $c) { $tags[$c->getId()] = $c->getName(); } $this->setWidget('description', new sfWidgetFormTextarea()); $this->setWidget('language', new sfWidgetFormChoice(array('choices' => $this->langs, 'expanded' => false))); $this->setWidget('pc_contacts_tags_list', new sfWidgetFormChoice(array('choices' => $tags, 'expanded' => true, 'multiple' => true))); $defaultLang = null; if (PcUserPeer::getLoggedInUser()->getEmail() == '*****@*****.**') { $defaultLang = 'en'; } else { $defaultLang = 'it'; } $this->setDefault('language', $defaultLang); unset($this['updated_at']); unset($this['created_at']); unset($this['creator_id']); unset($this['id']); $this->widgetSchema->setNameFormat('contact[%s]'); }
/** * Gets an array of PcContactTag objects which contain a foreign key that references this object. * * If this collection has already been initialized with an identical Criteria, it returns the collection. * Otherwise if this PcUser has previously been saved, it will retrieve * related PcContactTags from storage. If this PcUser is new, it will return * an empty collection or the current collection, the criteria is ignored on a new object. * * @param PropelPDO $con * @param Criteria $criteria * @return array PcContactTag[] * @throws PropelException */ public function getPcContactTags($criteria = null, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(PcUserPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collPcContactTags === null) { if ($this->isNew()) { $this->collPcContactTags = array(); } else { $criteria->add(PcContactTagPeer::CREATOR_ID, $this->id); PcContactTagPeer::addSelectColumns($criteria); $this->collPcContactTags = PcContactTagPeer::doSelect($criteria, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return the collection. $criteria->add(PcContactTagPeer::CREATOR_ID, $this->id); PcContactTagPeer::addSelectColumns($criteria); if (!isset($this->lastPcContactTagCriteria) || !$this->lastPcContactTagCriteria->equals($criteria)) { $this->collPcContactTags = PcContactTagPeer::doSelect($criteria, $con); } } } $this->lastPcContactTagCriteria = $criteria; return $this->collPcContactTags; }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param PropelPDO $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(PcContactTagPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(PcContactTagPeer::DATABASE_NAME); $criteria->add(PcContactTagPeer::ID, $pks, Criteria::IN); $objs = PcContactTagPeer::doSelect($criteria, $con); } return $objs; }