Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 11 |
|
0.00% |
0 / 9 |
CRAP | |
0.00% |
0 / 1 |
AdminUserInvitation | |
0.00% |
0 / 11 |
|
0.00% |
0 / 9 |
110 | |
0.00% |
0 / 1 |
company | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
plan | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
company_group | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
company_subgroup | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getInvitationLinkForAdminPortal | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
subscription | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
6 | |||
getStatusAttribute | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
sendPasswordResetNotification | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
user | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace App\Http\Models\Admin; |
4 | |
5 | use App\Http\Models\Plans; |
6 | use App\Http\Models\Auth\BaseUser as Authenticatable; |
7 | use App\Notifications\User\ResetPassword; |
8 | use App\Observers\CompanyObserver; |
9 | use App\Traits\CustomHasRoles; |
10 | use Illuminate\Contracts\Auth\MustVerifyEmail; |
11 | use Illuminate\Database\Eloquent\Factories\HasFactory; |
12 | use Illuminate\Notifications\Notifiable; |
13 | use Laravel\Cashier\Billable; |
14 | use Laravel\Passport\HasApiTokens; |
15 | use MongoDB\Laravel\Eloquent\SoftDeletes; |
16 | use Illuminate\Database\Eloquent\Attributes\ObservedBy; |
17 | use Mpociot\Teamwork\Traits\UserHasTeams; |
18 | |
19 | //#[ObservedBy([CompanyObserver::class])] |
20 | class AdminUserInvitation extends Authenticatable implements MustVerifyEmail |
21 | { |
22 | use Billable, CustomHasRoles, Notifiable, HasApiTokens, HasFactory, UserHasTeams, SoftDeletes; |
23 | |
24 | protected $fillable = [ |
25 | "admin_email", |
26 | "status", |
27 | "email", |
28 | "plan_id", |
29 | "plan", |
30 | "company_id", |
31 | "company_group_id", |
32 | "company_subgroup_id", |
33 | "temp_password_expiry", |
34 | "temp_password", |
35 | "password", |
36 | "role_name", |
37 | "has_corporate_plan", |
38 | "move_assign", |
39 | "user_info_id" |
40 | ]; |
41 | |
42 | protected $appends = [ |
43 | 'status', |
44 | ]; |
45 | |
46 | public function company() |
47 | { |
48 | return $this->belongsTo(Company::class); |
49 | } |
50 | |
51 | public function plan() |
52 | { |
53 | return $this->belongsTo(Plans::class); |
54 | } |
55 | |
56 | public function company_group() |
57 | { |
58 | return $this->belongsTo(CompanyGroup::class, 'company_group_id'); |
59 | } |
60 | |
61 | public function company_subgroup() |
62 | { |
63 | return $this->belongsTo(CompanyGroup::class, 'company_subgroup_id'); |
64 | } |
65 | |
66 | public function getInvitationLinkForAdminPortal() |
67 | { |
68 | return config('romeo.frontend-base-url') . "/session/signup?email=" . $this->email; |
69 | } |
70 | |
71 | public function subscription($type = "main") |
72 | { |
73 | if ($type == "invitation") { |
74 | $plan = Plans::find($this->plan_id); |
75 | |
76 | return $plan; |
77 | } |
78 | } |
79 | |
80 | public function getStatusAttribute() |
81 | { |
82 | return "Invited"; |
83 | } |
84 | |
85 | public function sendPasswordResetNotification($token) |
86 | { |
87 | $this->notify(new ResetPassword($token)); |
88 | } |
89 | |
90 | public function user() |
91 | { |
92 | return $this->belongsTo(User::class, 'email', 'email'); |
93 | } |
94 | } |