- fixed user settings database #9 - added dynamic user preferences #9 - added form to edit user preferences #9 - removed user language #7
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
namespace App\Entity;
|
||||
|
||||
use App\Validator\Constraints as KimaiAssert;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
|
||||
use Symfony\Component\Security\Core\User\UserInterface;
|
||||
@@ -10,7 +12,7 @@ use Symfony\Component\Validator\Constraints as Assert;
|
||||
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
|
||||
|
||||
/**
|
||||
* User
|
||||
* Application main User entity.
|
||||
*
|
||||
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
|
||||
* @ORM\Table(
|
||||
@@ -29,7 +31,6 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
{
|
||||
|
||||
const DEFAULT_ROLE = 'ROLE_USER';
|
||||
const DEFAULT_LANGUAGE = 'de';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
@@ -81,14 +82,6 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
*/
|
||||
private $alias;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="language", type="string", length=5, nullable=true)
|
||||
* @Assert\Language()
|
||||
*/
|
||||
private $language = self::DEFAULT_LANGUAGE;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
@@ -126,12 +119,20 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
*/
|
||||
private $roles = [];
|
||||
|
||||
/**
|
||||
* @var UserPreference[]|Collection
|
||||
*
|
||||
* @ORM\OneToMany(targetEntity="App\Entity\UserPreference", mappedBy="user")
|
||||
*/
|
||||
private $preferences;
|
||||
|
||||
/**
|
||||
* User constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->registeredAt = new \DateTime();
|
||||
$this->preferences = new ArrayCollection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -151,10 +152,10 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $registeredAt
|
||||
* @param \DateTime $registeredAt
|
||||
* @return $this
|
||||
*/
|
||||
public function setRegisteredAt($registeredAt)
|
||||
public function setRegisteredAt(\DateTime $registeredAt)
|
||||
{
|
||||
$this->registeredAt = $registeredAt;
|
||||
|
||||
@@ -199,15 +200,6 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
return $this->active;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @return boolean
|
||||
*/
|
||||
public function getActive()
|
||||
{
|
||||
return $this->isActive();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $password
|
||||
* @return $this
|
||||
@@ -324,24 +316,6 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLanguage()
|
||||
{
|
||||
return $this->language;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $language
|
||||
* @return $this
|
||||
*/
|
||||
public function setLanguage($language)
|
||||
{
|
||||
$this->language = $language;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the roles or permissions granted to the user for security.
|
||||
*
|
||||
@@ -369,6 +343,37 @@ class User implements UserInterface, AdvancedUserInterface
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return UserPreference[]|Collection
|
||||
*/
|
||||
public function getPreferences(): Collection
|
||||
{
|
||||
return $this->preferences;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param UserPreference[]|Collection<UserPreference> $preferences
|
||||
* @return User
|
||||
*/
|
||||
public function setPreferences(array $preferences)
|
||||
{
|
||||
if (!($preferences instanceof Collection) && is_array($preferences)) {
|
||||
$preferences = new ArrayCollection($preferences);
|
||||
}
|
||||
$this->preferences = $preferences;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param UserPreference $preference
|
||||
* @return User
|
||||
*/
|
||||
public function addPreference(UserPreference $preference)
|
||||
{
|
||||
$this->preferences->add($preference);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user