/** * Exclude object from result * * @param CcPlayoutHistoryMetaData $ccPlayoutHistoryMetaData Object to remove from the list of results * * @return CcPlayoutHistoryMetaDataQuery The current query, for fluid interface */ public function prune($ccPlayoutHistoryMetaData = null) { if ($ccPlayoutHistoryMetaData) { $this->addUsingAlias(CcPlayoutHistoryMetaDataPeer::ID, $ccPlayoutHistoryMetaData->getDbId(), Criteria::NOT_EQUAL); } return $this; }
public function populateTemplateItem($values, $id = null, $instance_id = null) { $this->con->beginTransaction(); try { $template = $this->getConfiguredItemTemplate(); $prefix = Application_Form_EditHistoryItem::ID_PREFIX; if (isset($id)) { $historyRecord = CcPlayoutHistoryQuery::create()->findPk($id, $this->con); } else { $historyRecord = new CcPlayoutHistory(); } if (isset($instance_id)) { $historyRecord->setDbInstanceId($instance_id); } $timezoneUTC = new DateTimeZone("UTC"); $timezoneLocal = new DateTimeZone($this->timezone); $dateTime = new DateTime($values[$prefix . "starts"], $timezoneLocal); $dateTime->setTimezone($timezoneUTC); $historyRecord->setDbStarts($dateTime->format("Y-m-d H:i:s")); $dateTime = new DateTime($values[$prefix . "ends"], $timezoneLocal); $dateTime->setTimezone($timezoneUTC); $historyRecord->setDbEnds($dateTime->format("Y-m-d H:i:s")); $templateValues = $values[$prefix . "template"]; $file = $historyRecord->getCcFiles(); $md = array(); $metadata = array(); $fields = $template["fields"]; $required = $this->mandatoryItemFields(); $phpCasts = $this->getPhpCasts(); for ($i = 0, $len = count($fields); $i < $len; $i++) { $field = $fields[$i]; $key = $field["name"]; //required is delt with before this loop. if (in_array($key, $required)) { continue; } $isFileMd = $field["isFileMd"]; $entry = $phpCasts[$field["type"]]($templateValues[$prefix . $key]); if ($isFileMd && isset($file)) { Logging::info("adding metadata associated to a file for {$key} = {$entry}"); $md[$key] = $entry; } else { Logging::info("adding metadata for {$key} = {$entry}"); $metadata[$key] = $entry; } } if (count($md) > 0) { $f = Application_Model_StoredFile::createWithFile($file, $this->con); $f->setDbColMetadata($md); } //Use this array to update existing values. $mds = $historyRecord->getCcPlayoutHistoryMetaDatas(); foreach ($mds as $md) { $prevmd[$md->getDbKey()] = $md; } foreach ($metadata as $key => $val) { if (isset($prevmd[$key])) { $meta = $prevmd[$key]; $meta->setDbValue($val); } else { $meta = new CcPlayoutHistoryMetaData(); $meta->setDbKey($key); $meta->setDbValue($val); $historyRecord->addCcPlayoutHistoryMetaData($meta); } } $historyRecord->save($this->con); $this->con->commit(); } catch (Exception $e) { $this->con->rollback(); throw $e; } }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param CcPlayoutHistoryMetaData $value A CcPlayoutHistoryMetaData object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(CcPlayoutHistoryMetaData $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getDbId(); } // if key === null self::$instances[$key] = $obj; } }
/** * Filter the query by a related CcPlayoutHistoryMetaData object * * @param CcPlayoutHistoryMetaData $ccPlayoutHistoryMetaData the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return CcTagQuery The current query, for fluid interface */ public function filterByCcPlayoutHistoryMetaData($ccPlayoutHistoryMetaData, $comparison = null) { return $this->addUsingAlias(CcTagPeer::ID, $ccPlayoutHistoryMetaData->getDbTagId(), $comparison); }