Advertisement
Guest User

Untitled

a guest
May 18th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.37 KB | None | 0 0
  1. <?php
  2. namespace AppBundle\Entity;
  3.  
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8.  
  9. /**
  10. * Class User
  11. * @package AppBundle\Entity
  12. * @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
  13. * @ORM\Table(name="user")
  14. * @UniqueEntity(fields={"userName"}, message="user.error.nametaken", )
  15. */
  16. class User implements UserInterface, \Serializable
  17. {
  18. /**
  19. * @var integer
  20. * @ORM\Column(name="id", type="integer")
  21. * @ORM\GeneratedValue(strategy="AUTO")
  22. * @ORM\Id()
  23. */
  24. private $id;
  25.  
  26. /**
  27. * @var \DateTime
  28. * @ORM\Column(name="created", type="datetimetz")
  29. */
  30. private $created;
  31.  
  32. /**
  33. * @var string
  34. * @ORM\Column(name="user_name", unique=true)
  35. * @Assert\NotBlank(message="user.error.username")
  36. */
  37. private $userName;
  38.  
  39. /**
  40. * @var string
  41. * @ORM\Column(name="email")
  42. * @Assert\NotBlank(message="user.error.email")
  43. * @Assert\Email(message="user.error.email.type", checkHost=true, checkMX=true)
  44. */
  45. private $email;
  46.  
  47. /**
  48. * @var string
  49. * @ORM\Column(name="password")
  50. * @Assert\NotBlank(message="user.error.password")
  51. * @Assert\Length(min=8, minMessage="user.error.password")
  52. */
  53. private $password;
  54.  
  55. /**
  56. * @var boolean
  57. * @ORM\Column(name="is_active", type="boolean")
  58. */
  59. private $active;
  60.  
  61. /**
  62. * @var string
  63. * @ORM\Column(name="active_token", nullable=true)
  64. */
  65. private $activeToken;
  66.  
  67. /**
  68. * @var string
  69. * @ORM\Column(name="password_forgot_token", nullable=true)
  70. */
  71. private $passwordForgotToken;
  72.  
  73. /**
  74. * @var string
  75. * @ORM\Column(name="user_type")
  76. */
  77. private $type;
  78.  
  79. const TYPE_APPLICANT = 'applicant';
  80. const TYPE_EMPLOYEE = 'employee';
  81.  
  82. /**
  83. * @var string
  84. * @ORM\Column(name="locale")
  85. * @Assert\NotBlank(message="user.error.locale")
  86. */
  87. private $locale;
  88.  
  89. const LOCALE_DE = 'de';
  90. const LOCALE_EN = 'en';
  91.  
  92. public function __construct()
  93. {
  94. $this->created = new \DateTime();
  95. $this->active = false;
  96. }
  97.  
  98. /**
  99. * @return int
  100. */
  101. public function getId()
  102. {
  103. return $this->id;
  104. }
  105.  
  106. /**
  107. * @param int $id
  108. */
  109. public function setId($id)
  110. {
  111. $this->id = $id;
  112. }
  113.  
  114. /**
  115. * @return \DateTime
  116. */
  117. public function getCreated()
  118. {
  119. return $this->created;
  120. }
  121.  
  122. /**
  123. * @param \DateTime $created
  124. */
  125. public function setCreated($created)
  126. {
  127. $this->created = $created;
  128. }
  129.  
  130. /**
  131. * @return string
  132. */
  133. public function getUserName()
  134. {
  135. return $this->userName;
  136. }
  137.  
  138. /**
  139. * @param string $userName
  140. */
  141. public function setUserName($userName)
  142. {
  143. $this->userName = $userName;
  144. }
  145.  
  146. /**
  147. * @return string
  148. */
  149. public function getEmail()
  150. {
  151. return $this->email;
  152. }
  153.  
  154. /**
  155. * @param string $email
  156. */
  157. public function setEmail($email)
  158. {
  159. $this->email = $email;
  160. }
  161.  
  162. /**
  163. * @return string
  164. */
  165. public function getPassword()
  166. {
  167. return $this->password;
  168. }
  169.  
  170. /**
  171. * @param string $password
  172. */
  173. public function setPassword($password)
  174. {
  175. $this->password = $password;
  176. }
  177.  
  178. /**
  179. * @return bool
  180. */
  181. public function isActive()
  182. {
  183. return $this->active;
  184. }
  185.  
  186. /**
  187. * @param bool $active
  188. */
  189. public function setActive($active)
  190. {
  191. $this->active = $active;
  192. }
  193.  
  194. /**
  195. * @return string
  196. */
  197. public function getActiveToken()
  198. {
  199. return $this->activeToken;
  200. }
  201.  
  202. /**
  203. * @param string $activeToken
  204. */
  205. public function setActiveToken($activeToken)
  206. {
  207. $this->activeToken = $activeToken;
  208. }
  209.  
  210. /**
  211. * @return string
  212. */
  213. public function getPasswordForgotToken()
  214. {
  215. return $this->passwordForgotToken;
  216. }
  217.  
  218. /**
  219. * @param string $passwordForgotToken
  220. */
  221. public function setPasswordForgotToken($passwordForgotToken)
  222. {
  223. $this->passwordForgotToken = $passwordForgotToken;
  224. }
  225.  
  226. /**
  227. * @return string
  228. */
  229. public function getType()
  230. {
  231. return $this->type;
  232. }
  233.  
  234. /**
  235. * @param string $type
  236. */
  237. public function setType($type)
  238. {
  239. $this->type = $type;
  240. }
  241.  
  242. /**
  243. * @return string
  244. */
  245. public function getLocale()
  246. {
  247. return $this->locale;
  248. }
  249.  
  250. /**
  251. * @param string $locale
  252. */
  253. public function setLocale($locale)
  254. {
  255. $this->locale = $locale;
  256. }
  257.  
  258. public function getSalt()
  259. {
  260. return null;
  261. }
  262.  
  263. public function getRoles()
  264. {
  265. if ($this->type == self::TYPE_APPLICANT) {
  266. return ['ROLE_APPLICANT'];
  267. } else if($this->type == self::TYPE_EMPLOYEE) {
  268. return ['ROLE_EMPLOYEE'];
  269. }
  270. }
  271.  
  272. public function eraseCredentials()
  273. {
  274. }
  275.  
  276. public function serialize()
  277. {
  278. return serialize([
  279. $this->id,
  280. $this->userName,
  281. $this->password
  282. ]);
  283. }
  284.  
  285. public function unserialize($serialized)
  286. {
  287. list (
  288. $this->id,
  289. $this->username,
  290. $this->password,
  291. ) = unserialize($serialized);
  292. }
  293. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement