/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->asfGuardUser !== null) { if ($this->asfGuardUser->isModified() || $this->asfGuardUser->isNew()) { $affectedRows += $this->asfGuardUser->save($con); } $this->setsfGuardUser($this->asfGuardUser); } if ($this->asfGuardGroup !== null) { if ($this->asfGuardGroup->isModified() || $this->asfGuardGroup->isNew()) { $affectedRows += $this->asfGuardGroup->save($con); } $this->setsfGuardGroup($this->asfGuardGroup); } // If this object has been modified, then save it to the database. if ($this->isModified()) { if ($this->isNew()) { $pk = sfGuardUserGroupPeer::doInsert($this, $con); $affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which // should always be true here (even though technically // BasePeer::doInsert() can insert multiple rows). $this->setNew(false); } else { $affectedRows += sfGuardUserGroupPeer::doUpdate($this, $con); } $this->resetModified(); // [HL] After being saved an object is no longer 'modified' } $this->alreadyInSave = false; } return $affectedRows; }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->asfGuardUser !== null) { if ($this->asfGuardUser->isModified() || $this->asfGuardUser->isNew()) { $affectedRows += $this->asfGuardUser->save($con); } $this->setsfGuardUser($this->asfGuardUser); } if ($this->asfGuardGroup !== null) { if ($this->asfGuardGroup->isModified() || $this->asfGuardGroup->isNew()) { $affectedRows += $this->asfGuardGroup->save($con); } $this->setsfGuardGroup($this->asfGuardGroup); } // If this object has been modified, then save it to the database. if ($this->isModified()) { if ($this->isNew()) { $criteria = $this->buildCriteria(); $pk = BasePeer::doInsert($criteria, $con); $affectedRows += 1; $this->setNew(false); } else { $affectedRows += sfGuardUserGroupPeer::doUpdate($this, $con); } $this->resetModified(); // [HL] After being saved an object is no longer 'modified' } $this->alreadyInSave = false; } return $affectedRows; }
public function setDefaultGroup() { $con = Propel::getConnection(sfGuardGroupPeer::DATABASE_NAME); $criteria = new Criteria(); $criteria->add(self::NAME, 'Admin'); $group = self::doSelectOne($criteria); $new = false; if (!$group) { $group = new sfGuardGroup(); $new = true; } $group->setName('Admin'); $group->setDescription('Admin Group'); if ($new) { $group->save(); } $selectCriteria = $group->buildPkeyCriteria(); // update values are also stored in Criteria object $group->setId(self::DEFAULT_GROUP_ID); $updateValues = $group->buildCriteria(); BasePeer::doUpdate($selectCriteria, $updateValues, $con); return $group; }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->asfGuardGroup !== null) { if ($this->asfGuardGroup->isModified() || $this->asfGuardGroup->isNew()) { $affectedRows += $this->asfGuardGroup->save($con); } $this->setsfGuardGroup($this->asfGuardGroup); } if ($this->asfGuardPermission !== null) { if ($this->asfGuardPermission->isModified() || $this->asfGuardPermission->isNew()) { $affectedRows += $this->asfGuardPermission->save($con); } $this->setsfGuardPermission($this->asfGuardPermission); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } $this->alreadyInSave = false; } return $affectedRows; }
public function createProjectGroup($name, $description) { // TODO: make sure group name does not already exist if (sfGuardGroupPeer::retrieveByName($this->getUuid() . '-' . $name) != null) { return true; } $group = new sfGuardGroup(); $group->setName($this->getUuid() . '-' . $name); $group->setDescription($description); //$group->setDescription(); $group->save(); }
<?php $app = 'sympal'; require_once dirname(__FILE__) . '/../bootstrap/unit.php'; $t = new lime_test(9, new lime_output_color()); $user = sfContext::getInstance()->getUser(); $content = Doctrine_Core::getTable('sfSympalContent')->getTypeQuery('sfSympalPage')->andWhere('c.slug = ?', 'home')->fetchOne(); $t->is($user->hasAccessToViewContent($content), true); $group = new sfGuardGroup(); $group->name = 'SpecialGroup'; $group->save(); $content->Groups[] = $group; $content->save(); $admin = Doctrine_Core::getTable(sfSympalConfig::get('user_model'))->findOneByIsSuperAdmin(1); $user->signIn($admin); $t->is($user->hasAccessToViewContent($content), true); $t->is($user->isEditMode(), true); $t->is($user->isSuperAdmin(), true); $t->is($user->isAnonymous(), false); $t->is($user->hasCredential('BlahSomethingFake'), true); $t->is($user->getGuardUser()->id, $admin->id); $t->is((string) $user, 'Sympal Admin (admin)'); $t->is($user->checkPassword('admin'), true);