X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=src%2FWallabag%2FCoreBundle%2FEntity%2FUser.php;h=eeae331e29582b24752ea30873abee9e0d3ae89b;hb=1db9d411c5b1fe592788866dc206e2fd6dc87a71;hp=ed5cfe535ee266b874210ae31673156bc5ff5f11;hpb=32da2a70ef278bd42f66eb82c3fbf1905a417b87;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/User.php b/src/Wallabag/CoreBundle/Entity/User.php index ed5cfe53..eeae331e 100644 --- a/src/Wallabag/CoreBundle/Entity/User.php +++ b/src/Wallabag/CoreBundle/Entity/User.php @@ -4,103 +4,78 @@ namespace Wallabag\CoreBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\User\AdvancedUserInterface; use Symfony\Component\Validator\Constraints as Assert; +use JMS\Serializer\Annotation\ExclusionPolicy; +use JMS\Serializer\Annotation\Expose; +use FOS\UserBundle\Model\User as BaseUser; /** - * User + * User. * - * @ORM\Table(name="user") - * @ORM\Entity + * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\UserRepository") + * @ORM\Table * @ORM\HasLifecycleCallbacks() + * @ExclusionPolicy("all") + * + * @UniqueEntity("email") + * @UniqueEntity("username") */ -class User implements AdvancedUserInterface, \Serializable +class User extends BaseUser implements AdvancedUserInterface, \Serializable { /** - * @var integer + * @var int * + * @Expose * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ - private $id; - - /** - * @var string - * - * @ORM\Column(name="username", type="text") - * @Assert\NotBlank() - * @Assert\Length( - * min = "3", - * max = "255" - * ) - */ - private $username; - - /** - * @var string - * - * @ORM\Column(type="string", length=32) - */ - private $salt; - - /** - * @var string - * - * @ORM\Column(name="password", type="text") - */ - private $password; + protected $id; /** * @var string * * @ORM\Column(name="name", type="text", nullable=true) */ - private $name; - - /** - * @var string - * - * @ORM\Column(name="email", type="text", nullable=false) - * @Assert\Email() - * @Assert\NotBlank() - */ - private $email; - - /** - * @ORM\Column(name="is_active", type="boolean", nullable=false) - */ - private $isActive = true; + protected $name; /** * @var date * * @ORM\Column(name="created_at", type="datetime") */ - private $createdAt; + protected $createdAt; /** * @var date * * @ORM\Column(name="updated_at", type="datetime") */ - private $updatedAt; + protected $updatedAt; /** * @ORM\OneToMany(targetEntity="Entry", mappedBy="user", cascade={"remove"}) */ - private $entries; + protected $entries; /** * @ORM\OneToOne(targetEntity="Config", mappedBy="user") */ - private $config; + protected $config; + + /** + * @ORM\OneToMany(targetEntity="Tag", mappedBy="user", cascade={"remove"}) + */ + protected $tags; public function __construct() { - $this->salt = md5(uniqid(null, true)); - $this->entries = new ArrayCollection(); + parent::__construct(); + $this->entries = new ArrayCollection(); + $this->tags = new ArrayCollection(); } /** @@ -117,58 +92,10 @@ class User implements AdvancedUserInterface, \Serializable } /** - * Get id + * Set password. * - * @return integer - */ - public function getId() - { - return $this->id; - } - - /** - * Set username - * - * @param string $username - * @return User - */ - public function setUsername($username) - { - $this->username = $username; - - return $this; - } - - /** - * Get username - * - * @return string - */ - public function getUsername() - { - return $this->username; - } - - /** - * @inheritDoc - */ - public function getSalt() - { - return $this->salt; - } - - /** - * @inheritDoc - */ - public function getRoles() - { - return array('ROLE_USER'); - } - - /** - * Set password + * @param string $password * - * @param string $password * @return User */ public function setPassword($password) @@ -183,19 +110,10 @@ class User implements AdvancedUserInterface, \Serializable } /** - * Get password + * Set name. * - * @return string - */ - public function getPassword() - { - return $this->password; - } - - /** - * Set name + * @param string $name * - * @param string $name * @return User */ public function setName($name) @@ -206,7 +124,7 @@ class User implements AdvancedUserInterface, \Serializable } /** - * Get name + * Get name. * * @return string */ @@ -215,29 +133,6 @@ class User implements AdvancedUserInterface, \Serializable return $this->name; } - /** - * Set email - * - * @param string $email - * @return User - */ - public function setEmail($email) - { - $this->email = $email; - - return $this; - } - - /** - * Get email - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - /** * @return string */ @@ -275,30 +170,23 @@ class User implements AdvancedUserInterface, \Serializable } /** - * @inheritDoc + * @param Entry $entry + * + * @return User */ - public function eraseCredentials() + public function addTag(Tag $tag) { - } + $this->tags[] = $tag; - /** - * @see \Serializable::serialize() - */ - public function serialize() - { - return serialize(array( - $this->id, - )); + return $this; } /** - * @see \Serializable::unserialize() + * @return ArrayCollection */ - public function unserialize($serialized) + public function getTags() { - list( - $this->id, - ) = unserialize($serialized); + return $this->tags; } public function isEqualTo(UserInterface $user) @@ -306,29 +194,11 @@ class User implements AdvancedUserInterface, \Serializable return $this->username === $user->getUsername(); } - public function isAccountNonExpired() - { - return true; - } - - public function isAccountNonLocked() - { - return true; - } - - public function isCredentialsNonExpired() - { - return true; - } - - public function isEnabled() - { - return $this->isActive; - } /** - * Set config + * Set config. + * + * @param \Wallabag\CoreBundle\Entity\Config $config * - * @param \Wallabag\CoreBundle\Entity\Config $config * @return User */ public function setConfig(\Wallabag\CoreBundle\Entity\Config $config = null) @@ -339,7 +209,7 @@ class User implements AdvancedUserInterface, \Serializable } /** - * Get config + * Get config. * * @return \Wallabag\CoreBundle\Entity\Config */