User.php
3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
namespace App\Model\Entity;
use Cake\ORM\Entity;
use Cake\Auth\DefaultPasswordHasher;
/**
* User Entity.
*
* @property int $id
* @property \Cake\I18n\Time $created
* @property \Cake\I18n\Time $modified
* @property string $nom
* @property string $username
* @property string $password
* @property string $email
* @property string $role
* @property int $groupes_metier_id
* @property int $groupe_thematique_id
* @property int $sur_categorie_id
* @property int $groupes_metier_id2
* @property int $groupe_thematique_id2
* @property int $sur_categorie_id2
* @property \App\Model\Entity\GroupesMetier $groupes_metier
* @property \App\Model\Entity\GroupesThematique $groupe_thematique
* @property \App\Model\Entity\SurCategory $sur_categorie
*/
class User extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array
*/
protected $_accessible = [
'*' => true,
'id' => false
];
// Fonction de hachage de mot de passe (mutator/setter)
/* CakePHP hashes passwords with bcrypt by default.
* You can also use SHA-1 or MD5 if you’re working with an existing database,
* but we recommend bcrypt for all new applications
*/
protected function _setPassword($password)
{
//return (new DefaultPasswordHasher())->hash($password);
//if (strlen($password)) {
if (strlen($password)>0) {
$hasher = new DefaultPasswordHasher();
return $hasher->hash($password);
}
}
// Ce qui s'affiche quand on fait echo $entity
public function __toString() { return $this->nom; }
// (EP 20200504) - Champs virtuels
// Nom Prénom
//protected function _getFullname() { return $this->name.' '.$this->firstname; }
// Champs virtuels $user->is_xxx
/*
public function isUser() { return $this->role == 'Utilisateur'; }
public function is_resp() { return $this->role == 'Responsable'; }
public function is_admin() { return $this->role == 'Administration'; }
public function is_super() { return $this->role == 'Super Administrateur'; }
*/
protected function _getIsUser() { return $this->role == 'Utilisateur'; } //return $this->_fields['status'] == 'CREATED';
protected function _getIsResp() { return $this->role == 'Responsable'; }
protected function _getIsAdmin() { return $this->role == 'Administration'; }
protected function _getIsAdminplus() { return $this->role == 'Administration Plus'; }
protected function _getIsSuper() { return $this->role == 'Super Administrateur'; }
// Champs virtuels $user->is_xxx_or_more
//public function isRespOrMore() {
protected function _getIsRespOrMore() {
return in_array($this->role, ['Responsable', 'Administration', 'Administration Plus', 'Super Administrateur']);
}
public function _getIsAdminOrMore() {
return in_array($this->role, ['Administration', 'Administration Plus', 'Super Administrateur']);
}
public function _getIsAdminplusOrMore() {
return in_array($this->role, ['Administration Plus', 'Super Administrateur']);
}
// Champs virtuels $user->is_xxx_or_less
public function _getIsRespOrLess() {
return in_array($this->role, ['Utilisateur', 'Responsable']);
}
public function _getIsAdminOrLess() {
return in_array($this->role, ['Utilisateur', 'Responsable', 'Administration']);
}
public function _getIsAdminplusOrLess() {
return in_array($this->role, ['Utilisateur', 'Responsable', 'Administration', 'Administration Plus']);
}
}