@@ 18-99 (lines=82) @@ | ||
15 | * |
|
16 | * @ODM\MappedSuperclass |
|
17 | */ |
|
18 | abstract class User extends BaseUser |
|
19 | { |
|
20 | /** |
|
21 | * @var int |
|
22 | * |
|
23 | * @ODM\Id |
|
24 | */ |
|
25 | protected $id; |
|
26 | ||
27 | /** |
|
28 | * @var string |
|
29 | * |
|
30 | * @ODM\Field(type="string") |
|
31 | */ |
|
32 | protected $username; |
|
33 | ||
34 | /** |
|
35 | * @var string |
|
36 | * |
|
37 | * @ODM\Field(type="string") |
|
38 | */ |
|
39 | protected $email; |
|
40 | ||
41 | /** |
|
42 | * @var string |
|
43 | * |
|
44 | * @ODM\Field(type="string") |
|
45 | */ |
|
46 | protected $password; |
|
47 | ||
48 | /** |
|
49 | * @var string |
|
50 | * |
|
51 | * @ODM\Field(type="string") |
|
52 | */ |
|
53 | protected $salt; |
|
54 | ||
55 | /** |
|
56 | * @var bool |
|
57 | * |
|
58 | * @ODM\Field(type="boolean") |
|
59 | */ |
|
60 | protected $enabled = false; |
|
61 | ||
62 | /** |
|
63 | * @var DateTime |
|
64 | * |
|
65 | * @ODM\Field(type="date") |
|
66 | */ |
|
67 | protected $lastLogin; |
|
68 | ||
69 | /** |
|
70 | * @var array |
|
71 | * |
|
72 | * @ODM\Field(type="collection") |
|
73 | */ |
|
74 | protected $roles = []; |
|
75 | ||
76 | /** |
|
77 | * @var string |
|
78 | * |
|
79 | * @ODM\Field(type="string") |
|
80 | */ |
|
81 | protected $confirmationToken; |
|
82 | ||
83 | /** |
|
84 | * {@inheritdoc} |
|
85 | */ |
|
86 | public static function loadValidatorMetadata(ClassMetadata $metadata) |
|
87 | { |
|
88 | $metadata->addConstraint(new Unique([ |
|
89 | 'fields' => 'username', |
|
90 | 'message' => 'silex_user.username.already_used' |
|
91 | ])); |
|
92 | $metadata->addConstraint(new Unique([ |
|
93 | 'fields' => 'email', |
|
94 | 'message' => 'silex_user.email.already_used' |
|
95 | ])); |
|
96 | ||
97 | parent::loadValidatorMetadata($metadata); |
|
98 | } |
|
99 | } |
|
100 |
@@ 18-101 (lines=84) @@ | ||
15 | * |
|
16 | * @ORM\MappedSuperclass |
|
17 | */ |
|
18 | abstract class User extends BaseUser |
|
19 | { |
|
20 | /** |
|
21 | * @var int |
|
22 | * |
|
23 | * @ORM\Id |
|
24 | * @ORM\GeneratedValue |
|
25 | * @ORM\Column(name="id", type="integer") |
|
26 | */ |
|
27 | protected $id; |
|
28 | ||
29 | /** |
|
30 | * @var string |
|
31 | * |
|
32 | * @ORM\Column(name="username", type="string", length=180, unique=true) |
|
33 | */ |
|
34 | protected $username; |
|
35 | ||
36 | /** |
|
37 | * @var string |
|
38 | * |
|
39 | * @ORM\Column(name="email", type="string", length=180, unique=true) |
|
40 | */ |
|
41 | protected $email; |
|
42 | ||
43 | /** |
|
44 | * @var string |
|
45 | * |
|
46 | * @ORM\Column(name="password", type="string", length=255) |
|
47 | */ |
|
48 | protected $password; |
|
49 | ||
50 | /** |
|
51 | * @var string |
|
52 | * |
|
53 | * @ORM\Column(name="salt", type="string", length=255, nullable=true) |
|
54 | */ |
|
55 | protected $salt; |
|
56 | ||
57 | /** |
|
58 | * @var bool |
|
59 | * |
|
60 | * @ORM\Column(name="enabled", type="boolean") |
|
61 | */ |
|
62 | protected $enabled = false; |
|
63 | ||
64 | /** |
|
65 | * @var DateTime |
|
66 | * |
|
67 | * @ORM\Column(name="last_login", type="datetime", nullable=true) |
|
68 | */ |
|
69 | protected $lastLogin; |
|
70 | ||
71 | /** |
|
72 | * @var array |
|
73 | * |
|
74 | * @ORM\Column(name="roles", type="array") |
|
75 | */ |
|
76 | protected $roles = []; |
|
77 | ||
78 | /** |
|
79 | * @var string |
|
80 | * |
|
81 | * @ORM\Column(name="confirmation_token", type="string", length=180, unique=true, nullable=true) |
|
82 | */ |
|
83 | protected $confirmationToken; |
|
84 | ||
85 | /** |
|
86 | * {@inheritdoc} |
|
87 | */ |
|
88 | public static function loadValidatorMetadata(ClassMetadata $metadata) |
|
89 | { |
|
90 | $metadata->addConstraint(new UniqueEntity([ |
|
91 | 'fields' => 'username', |
|
92 | 'message' => 'silex_user.username.already_used' |
|
93 | ])); |
|
94 | $metadata->addConstraint(new UniqueEntity([ |
|
95 | 'fields' => 'email', |
|
96 | 'message' => 'silex_user.email.already_used' |
|
97 | ])); |
|
98 | ||
99 | parent::loadValidatorMetadata($metadata); |
|
100 | } |
|
101 | } |
|
102 |