/**
  * Return a user notification setting given a user.
  *
  * @param User   $user
  * @param string $name
  * @param mixed  $default
  *
  * @return mixed
  */
 public function getUserNotificationSetting(User $user, $name, $default = true)
 {
     if (false === $user->getNotificationSettings()->containsKey($name)) {
         return $default;
     }
     return $user->getNotificationSettings()->get($name)->getValue();
 }
 /**
  * Removes user settings.
  *
  * @param User $user
  */
 private function cleanSettings(User $user)
 {
     foreach ($user->getNotificationSettings() as $userNotificationSetting) {
         $this->objectManager->remove($userNotificationSetting);
     }
     $user->getNotificationSettings()->clear();
     foreach ($user->getSettings() as $userSetting) {
         $this->objectManager->remove($userSetting);
     }
     $user->getSettings()->clear();
 }
Beispiel #3
0
 public function testConstructor()
 {
     $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $this->user->getQueries());
     $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $this->user->getNotificationSettings());
     $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $this->user->getSettings());
 }
 /**
  * Sets a notification setting for a user.
  *
  * @param User   $user
  * @param string $name
  * @param string $value
  */
 public function setNotificationSetting(User $user, $name, $value)
 {
     if ($user->getNotificationSettings()->containsKey($name)) {
         $user->getNotificationSettings()->get($name)->setValue((bool) $value);
     } else {
         $userSetting = new UserNotificationSetting();
         $userSetting->setUser($user);
         $userSetting->setName($name);
         $userSetting->setValue($value);
         $user->addNotificationSettings($userSetting);
     }
     $this->manager->update($user);
 }
 /**
  * {@inheritDoc}
  */
 public function getNotificationSettings()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNotificationSettings', array());
     return parent::getNotificationSettings();
 }