/** * Create or toggle a customer group ACL. * * @param CustomerGroupAclEvent $event Customer group ACL event. * * @throws PropelException * * @todo Clarify what this should be doing. */ public function customerGroupAclUpdate(CustomerGroupAclEvent $event) { $customerGroupAcl = CustomerGroupAclQuery::create()->filterByAclId($event->getAclId())->filterByCustomerGroupId($event->getCustomerGroupId())->filterByType($event->getType())->findOne(); if (null === $customerGroupAcl) { $customerGroupAcl = new CustomerGroupAcl(); $customerGroupAcl->setAclId($event->getAclId())->setCustomerGroupId($event->getCustomerGroupId())->setType($event->getType())->setActivate(1)->save(); } else { if ($customerGroupAcl->getActivate() == 1) { $customerGroupAcl->setActivate(0); } else { $customerGroupAcl->setActivate(1); } $customerGroupAcl->save(); } }
/** * Filter the query by a related \CustomerGroupAcl\Model\CustomerGroupAcl object * * @param \CustomerGroupAcl\Model\CustomerGroupAcl|ObjectCollection $customerGroupAcl The related object(s) to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildCustomerGroupAclI18nQuery The current query, for fluid interface */ public function filterByCustomerGroupAcl($customerGroupAcl, $comparison = null) { if ($customerGroupAcl instanceof \CustomerGroupAcl\Model\CustomerGroupAcl) { return $this->addUsingAlias(CustomerGroupAclI18nTableMap::ID, $customerGroupAcl->getId(), $comparison); } elseif ($customerGroupAcl instanceof ObjectCollection) { if (null === $comparison) { $comparison = Criteria::IN; } return $this->addUsingAlias(CustomerGroupAclI18nTableMap::ID, $customerGroupAcl->toKeyValue('PrimaryKey', 'Id'), $comparison); } else { throw new PropelException('filterByCustomerGroupAcl() only accepts arguments of type \\CustomerGroupAcl\\Model\\CustomerGroupAcl or Collection'); } }
/** * 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 you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by find*() * and findPk*() calls. * * @param \CustomerGroupAcl\Model\CustomerGroupAcl $obj A \CustomerGroupAcl\Model\CustomerGroupAcl object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool($obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if (null === $key) { $key = serialize(array((string) $obj->getAclId(), (string) $obj->getCustomerGroupId(), (string) $obj->getType())); } // if key === null self::$instances[$key] = $obj; } }
/** * Exclude object from result * * @param ChildCustomerGroupAcl $customerGroupAcl Object to remove from the list of results * * @return ChildCustomerGroupAclQuery The current query, for fluid interface */ public function prune($customerGroupAcl = null) { if ($customerGroupAcl) { $this->addCond('pruneCond0', $this->getAliasedColName(CustomerGroupAclTableMap::ACL_ID), $customerGroupAcl->getAclId(), Criteria::NOT_EQUAL); $this->addCond('pruneCond1', $this->getAliasedColName(CustomerGroupAclTableMap::CUSTOMER_GROUP_ID), $customerGroupAcl->getCustomerGroupId(), Criteria::NOT_EQUAL); $this->addCond('pruneCond2', $this->getAliasedColName(CustomerGroupAclTableMap::TYPE), $customerGroupAcl->getType(), Criteria::NOT_EQUAL); $this->combine(array('pruneCond0', 'pruneCond1', 'pruneCond2'), Criteria::LOGICAL_OR); } return $this; }
/** * Filter the query by a related \CustomerGroupAcl\Model\CustomerGroupAcl object * * @param \CustomerGroupAcl\Model\CustomerGroupAcl|ObjectCollection $customerGroupAcl the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildAclQuery The current query, for fluid interface */ public function filterByCustomerGroupAcl($customerGroupAcl, $comparison = null) { if ($customerGroupAcl instanceof \CustomerGroupAcl\Model\CustomerGroupAcl) { return $this->addUsingAlias(AclTableMap::ID, $customerGroupAcl->getAclId(), $comparison); } elseif ($customerGroupAcl instanceof ObjectCollection) { return $this->useCustomerGroupAclQuery()->filterByPrimaryKeys($customerGroupAcl->getPrimaryKeys())->endUse(); } else { throw new PropelException('filterByCustomerGroupAcl() only accepts arguments of type \\CustomerGroupAcl\\Model\\CustomerGroupAcl or Collection'); } }
/** * Declares an association between this object and a ChildCustomerGroupAcl object. * * @param ChildCustomerGroupAcl $v * @return \CustomerGroupAcl\Model\CustomerGroupAclI18n The current object (for fluent API support) * @throws PropelException */ public function setCustomerGroupAcl(ChildCustomerGroupAcl $v = null) { if ($v === null) { $this->setId(null); } else { $this->setId($v->getId()); } $this->aCustomerGroupAcl = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the ChildCustomerGroupAcl object, it will not be re-added. if ($v !== null) { $v->addCustomerGroupAclI18n($this); } return $this; }