Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 5
0
 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();
 }
Exemplo n.º 6
0
<?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);