X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FUserBundle%2FEntity%2FUser.php;h=48446e3c1a6e64be30725ac03b77e2a636313fd4;hb=fea68d1a723c3f84b48630df6f173bbca5db4a14;hp=5c75846f85993f8bf677fa0110bee9516400f9bf;hpb=0c00e5251671c3648eabb8888271c09137ad902d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/UserBundle/Entity/User.php b/src/Wallabag/UserBundle/Entity/User.php index 5c75846f..48446e3c 100644 --- a/src/Wallabag/UserBundle/Entity/User.php +++ b/src/Wallabag/UserBundle/Entity/User.php @@ -4,17 +4,18 @@ namespace Wallabag\UserBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; +use FOS\UserBundle\Model\User as BaseUser; +use JMS\Serializer\Annotation\Accessor; use JMS\Serializer\Annotation\Groups; use JMS\Serializer\Annotation\XmlRoot; -use JMS\Serializer\Annotation\Accessor; use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface; use Scheb\TwoFactorBundle\Model\TrustedComputerInterface; -use FOS\UserBundle\Model\User as BaseUser; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; use Symfony\Component\Security\Core\User\UserInterface; use Wallabag\ApiBundle\Entity\Client; use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Entry; +use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; /** * User. @@ -29,6 +30,8 @@ use Wallabag\CoreBundle\Entity\Entry; */ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface { + use EntityTimestampsTrait; + /** @Serializer\XmlAttribute */ /** * @var int @@ -93,23 +96,15 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf protected $config; /** - * @ORM\Column(type="integer", nullable=true) - */ - private $authCode; - - /** - * @var bool + * @var ArrayCollection * - * @ORM\Column(type="boolean") + * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\SiteCredential", mappedBy="user", cascade={"remove"}) */ - private $twoFactorAuthentication = false; - - /** - * @ORM\Column(type="json_array", nullable=true) - */ - private $trusted; + protected $siteCredentials; /** + * @var ArrayCollection + * * @ORM\OneToMany(targetEntity="Wallabag\ApiBundle\Entity\Client", mappedBy="user", cascade={"remove"}) */ protected $clients; @@ -122,6 +117,23 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf */ protected $default_client; + /** + * @ORM\Column(type="integer", nullable=true) + */ + private $authCode; + + /** + * @var bool + * + * @ORM\Column(type="boolean") + */ + private $twoFactorAuthentication = false; + + /** + * @ORM\Column(type="json_array", nullable=true) + */ + private $trusted; + public function __construct() { parent::__construct(); @@ -129,19 +141,6 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf $this->roles = ['ROLE_USER']; } - /** - * @ORM\PrePersist - * @ORM\PreUpdate - */ - public function timestamps() - { - if (is_null($this->createdAt)) { - $this->createdAt = new \DateTime(); - } - - $this->updatedAt = new \DateTime(); - } - /** * Set name. * @@ -306,10 +305,8 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf */ public function getFirstClient() { - if (empty($this->clients)) { - return $this->clients; + if (!empty($this->clients)) { + return $this->clients->first(); } - - return $this->clients->first(); } }