1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace plunner; |
4
|
|
|
|
5
|
|
|
use Illuminate\Auth\Authenticatable; |
6
|
|
|
use Illuminate\Auth\Passwords\CanResetPassword; |
7
|
|
|
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; |
8
|
|
|
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; |
9
|
|
|
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; |
10
|
|
|
use Illuminate\Database\Eloquent\Model; |
11
|
|
|
use Illuminate\Foundation\Auth\Access\Authorizable; |
12
|
|
|
|
13
|
|
|
/** |
14
|
|
|
* Class Company |
15
|
|
|
* |
16
|
|
|
* @package plunner |
17
|
|
|
* @author Claudio Cardinale <[email protected]> |
18
|
|
|
* @copyright 2015 Claudio Cardinale |
19
|
|
|
* @version 1.0.0 |
20
|
|
|
* @property integer $id |
21
|
|
|
* @property string $name |
22
|
|
|
* @property string $email |
23
|
|
|
* @property string $password |
24
|
|
|
* @property boolean $verified |
25
|
|
|
* @property string $remember_token |
26
|
|
|
* @property \Carbon\Carbon $created_at |
27
|
|
|
* @property \Carbon\Carbon $updated_at |
28
|
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|Employee[] $employees |
29
|
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|Group[] $groups |
30
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereId($value) |
31
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereName($value) |
32
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereEmail($value) |
33
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company wherePassword($value) |
34
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereVerified($value) |
35
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereRememberToken($value) |
36
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereCreatedAt($value) |
37
|
|
|
* @method static \Illuminate\Database\Query\Builder|\plunner\Company whereUpdatedAt($value) |
38
|
|
|
*/ |
39
|
|
|
class Company extends Model implements AuthenticatableContract, |
40
|
|
|
AuthorizableContract, |
41
|
|
|
CanResetPasswordContract, |
42
|
|
|
PolicyCheckable |
43
|
|
|
{ |
44
|
|
|
use Authenticatable, Authorizable, CanResetPassword; |
45
|
|
|
|
46
|
|
|
/** |
47
|
|
|
* The database table used by the model. |
48
|
|
|
* |
49
|
|
|
* @var string |
50
|
|
|
*/ |
51
|
|
|
//protected $table = 'users'; |
52
|
|
|
|
53
|
|
|
/** |
54
|
|
|
* The attributes that are mass assignable. |
55
|
|
|
* |
56
|
|
|
* @var array |
57
|
|
|
*/ |
58
|
|
|
protected $fillable = ['name', 'email', 'password']; |
59
|
|
|
|
60
|
|
|
/** |
61
|
|
|
* The attributes excluded from the model's JSON form. |
62
|
|
|
* |
63
|
|
|
* @var array |
64
|
|
|
*/ |
65
|
|
|
protected $hidden = ['password', 'remember_token']; |
66
|
|
|
|
67
|
|
|
/** |
68
|
|
|
* @return \Illuminate\Database\Eloquent\Relations\HasMany |
69
|
|
|
*/ |
70
|
52 |
|
public function employees() |
71
|
|
|
{ |
72
|
52 |
|
return $this->hasMany(Employee::class); |
73
|
|
|
} |
74
|
|
|
|
75
|
36 |
|
public function groups() |
76
|
|
|
{ |
77
|
36 |
|
return $this->hasMany(Group::class); |
78
|
|
|
} |
79
|
|
|
|
80
|
|
|
/** |
81
|
|
|
* @param Group $group |
82
|
|
|
* @return bool |
83
|
|
|
*/ |
84
|
16 |
|
public function verifyGroup(Group $group) |
85
|
|
|
{ |
86
|
16 |
|
return $group->company_id === $this->id; |
87
|
|
|
} |
88
|
|
|
|
89
|
|
|
/** |
90
|
|
|
* @param Employee $employee |
91
|
|
|
* @return bool |
92
|
|
|
*/ |
93
|
16 |
|
public function verifyEmployee(Employee $employee) |
94
|
|
|
{ |
95
|
16 |
|
return $employee->company_id === $this->id; |
96
|
|
|
} |
97
|
|
|
|
98
|
|
|
/** |
99
|
|
|
* @param Company $company |
100
|
|
|
* @return bool |
101
|
|
|
*/ |
102
|
|
|
public function verifyCompany(Company $company) |
103
|
|
|
{ |
104
|
|
|
return $company->id === $this->id; |
105
|
|
|
} |
106
|
|
|
|
107
|
|
|
/** |
108
|
|
|
* @param Calendar $calendar |
109
|
|
|
* @return bool |
110
|
|
|
*/ |
111
|
|
|
public function verifyCalendar(Calendar $calendar) |
112
|
|
|
{ |
113
|
|
|
//TODO test this |
114
|
|
|
return $calendar->employee->Company->id == $this->id; |
|
|
|
|
115
|
|
|
} |
116
|
|
|
} |
117
|
|
|
|
An attempt at access to an undefined property has been detected. This may either be a typographical error or the property has been renamed but there are still references to its old name.
If you really want to allow access to undefined properties, you can define magic methods to allow access. See the php core documentation on Overloading.