From be5ec6aa51ab2d4fcaf652ac14c893d4835cff6d Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 23 Sep 2013 13:40:48 +0200 Subject: [PATCH] Updating user.php entity. --- main/inc/Entity/User.php | 60 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/main/inc/Entity/User.php b/main/inc/Entity/User.php index 864bdf0b5f..59c30970e6 100644 --- a/main/inc/Entity/User.php +++ b/main/inc/Entity/User.php @@ -12,6 +12,7 @@ use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Constraints as Assert; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; + use Symfony\Component\Validator\Constraints\DateTime; use ChamiloLMS\Component\Auth; @@ -21,7 +22,7 @@ use ChamiloLMS\Component\Auth; * @ORM\Table(name="user") * @ORM\Entity(repositoryClass="Entity\Repository\UserRepository") */ -class User implements AdvancedUserInterface, \Serializable +class User implements AdvancedUserInterface, \Serializable , EquatableInterface { /** * @var integer @@ -240,7 +241,7 @@ class User implements AdvancedUserInterface, \Serializable */ private $roles; - /** + /** * @ORM\Column(type="string", length=255) */ private $salt; @@ -265,6 +266,51 @@ class User implements AdvancedUserInterface, \Serializable $this->curriculumItems = new ArrayCollection(); $this->salt = sha1(uniqid(null, true)); $this->isActive = true; + $this->registrationDate = new \DateTime(); + $this->curriculumItems = new ArrayCollection(); + } + + public static function loadValidatorMetadata(ClassMetadata $metadata) + { + /*$metadata->addPropertyConstraint('firstname', new Assert\NotBlank()); + $metadata->addPropertyConstraint('lastname', new Assert\NotBlank()); + $metadata->addPropertyConstraint('email', new Assert\Email()); + + $metadata->addConstraint(new UniqueEntity(array( + 'fields' => 'username', + 'message' => 'This username already exists.', + ))); + + $metadata->addPropertyConstraint('username', new Assert\Length(array( + 'min' => 2, + 'max' => 50, + 'minMessage' => 'Your username must be at least {{ limit }} characters length', + 'maxMessage' => 'Your username cannot be longer than {{ limit }} characters length', + )));*/ + } + + /** + * @inheritDoc + */ + public function isEqualTo(UserInterface $user) + { + if (!$user instanceof User) { + return false; + } + + if ($this->password !== $user->getPassword()) { + return false; + } + + if ($this->getSalt() !== $user->getSalt()) { + return false; + } + + if ($this->username !== $user->getUsername()) { + return false; + } + + return true; } /** @@ -275,6 +321,14 @@ class User implements AdvancedUserInterface, \Serializable return $this->curriculumItems; } + /** + * @param $items + */ + public function setCurriculumItems($items) + { + $this->curriculumItems = $items; + } + /** * @return bool */ @@ -379,7 +433,7 @@ class User implements AdvancedUserInterface, \Serializable $this->salt, $this->password, $this->isActive - ) = \unserialize($serialized); + ) = \unserialize($serialized); } /**