예제 #1
0
 public function testSerialize()
 {
     $group = new Group();
     $group->setName('Developers');
     $user = new User();
     $user->setEmail('*****@*****.**');
     $user->setPassword('123456');
     $user->addGroup($group);
     $user->save();
     $userId = $user->getId();
     $this->assertInternalType('int', $userId);
     $serialized = serialize($user);
     UserPeer::clearInstancePool();
     $this->assertCount(0, UserPeer::$instances);
     $unserialized = unserialize($serialized);
     $fetchedUser = UserQuery::create()->findOneById($userId);
     $this->assertInstanceOf('FOS\\UserBundle\\Propel\\User', $unserialized);
     $this->assertCount(1, UserPeer::$instances);
     $this->assertTrue($fetchedUser->equals($unserialized));
     $this->assertCount(1, $unserialized->getGroups());
 }
 /**
  * Filter the query by a related User object
  *
  * @param   User|PropelObjectCollection $user The related object(s) to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return                 CyclicalEventsQuery The current query, for fluid interface
  * @throws PropelException - if the provided filter is invalid.
  */
 public function filterByUser($user, $comparison = null)
 {
     if ($user instanceof User) {
         return $this->addUsingAlias(CyclicalEventsPeer::ID_USER, $user->getId(), $comparison);
     } elseif ($user instanceof PropelObjectCollection) {
         if (null === $comparison) {
             $comparison = Criteria::IN;
         }
         return $this->addUsingAlias(CyclicalEventsPeer::ID_USER, $user->toKeyValue('PrimaryKey', 'Id'), $comparison);
     } else {
         throw new PropelException('filterByUser() only accepts arguments of type User or PropelCollection');
     }
 }
예제 #3
0
 /**
  * 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 User $obj A User 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 ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         UserPeer::$instances[$key] = $obj;
     }
 }
예제 #4
0
 /**
  * Declares an association between this object and a User object.
  *
  * @param                  User $v
  * @return CustomLists The current object (for fluent API support)
  * @throws PropelException
  */
 public function setUser(User $v = null)
 {
     if ($v === null) {
         $this->setIdUser(NULL);
     } else {
         $this->setIdUser($v->getId());
     }
     $this->aUser = $v;
     // Add binding for other direction of this n:n relationship.
     // If this object has already been added to the User object, it will not be re-added.
     if ($v !== null) {
         $v->addCustomLists($this);
     }
     return $this;
 }
예제 #5
0
 /**
  * Returns the user unique id.
  *
  * @return mixed
  */
 public function getId()
 {
     return $this->user->getId();
 }
예제 #6
0
 /**
  * Проверка прав у пользователя на проект
  *
  * @param User $user
  * @param Project $project
  * @return bool
  */
 public function hasCredential(User $user, Project $project)
 {
     return $project->getUserId() == $user->getId() || $user->hasRole('ROLE_SUPER_ADMIN');
 }
예제 #7
0
 /**
  * Exclude object from result
  *
  * @param   User $user Object to remove from the list of results
  *
  * @return UserQuery The current query, for fluid interface
  */
 public function prune($user = null)
 {
     if ($user) {
         $this->addUsingAlias(UserPeer::ID, $user->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }