Skip to content

Commit ca5e345

Browse files
authored
fix(GAT-8579): NHS SDE approval is wrong (#1556)
1 parent 84c5cab commit ca5e345

File tree

1 file changed

+28
-15
lines changed

1 file changed

+28
-15
lines changed

app/Models/User.php

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@
44

55
// use Laravel\Sanctum\HasApiTokens;
66
use App\Http\Traits\WithJwtUser;
7-
use Laravel\Passport\HasApiTokens;
8-
use Illuminate\Notifications\Notifiable;
9-
use Illuminate\Database\Eloquent\SoftDeletes;
10-
use Illuminate\Database\Eloquent\Relations\HasOne;
11-
use Illuminate\Database\Eloquent\Relations\HasMany;
127
use Illuminate\Database\Eloquent\Factories\HasFactory;
13-
use Illuminate\Foundation\Auth\User as Authenticatable;
14-
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
158
use Illuminate\Database\Eloquent\Relations\BelongsTo;
9+
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
10+
use Illuminate\Database\Eloquent\Relations\HasMany;
11+
use Illuminate\Database\Eloquent\Relations\HasOne;
12+
use Illuminate\Database\Eloquent\SoftDeletes;
13+
use Illuminate\Foundation\Auth\User as Authenticatable;
14+
use Illuminate\Notifications\Notifiable;
15+
use Laravel\Passport\HasApiTokens;
1616

1717
class User extends Authenticatable
1818
{
19+
use HasApiTokens;
1920
use HasFactory;
2021
use Notifiable;
2122
use SoftDeletes;
2223
use WithJwtUser;
23-
use HasApiTokens;
2424

2525
/**
2626
* The attributes that are mass assignable.
@@ -75,14 +75,12 @@ class User extends Authenticatable
7575
'is_nhse_sde_approval' => 'boolean',
7676
];
7777

78-
7978
public function sector(): BelongsTo
8079
{
8180
return $this->belongsTo(Sector::class);
8281
}
8382

84-
85-
protected $appends = ['rquestroles', 'cohort_discovery_roles'];
83+
protected $appends = ['rquestroles', 'cohort_discovery_roles', 'cohort_discovery_nhs_sde'];
8684

8785
public function getCohortDiscoveryRolesAttribute()
8886
{
@@ -93,12 +91,12 @@ public function getCohortDiscoveryRolesAttribute()
9391
'request_status' => 'APPROVED',
9492
])->first();
9593

96-
if (!$cohortRequest) {
94+
if (! $cohortRequest) {
9795
return [];
9896
}
9997

10098
$cohortRequestRoleIds = CohortRequestHasPermission::where([
101-
'cohort_request_id' => $cohortRequest->id
99+
'cohort_request_id' => $cohortRequest->id,
102100
])->pluck('permission_id')->toArray();
103101

104102
$cohortRequestRoles = Permission::whereIn('id', $cohortRequestRoleIds)->pluck('name')->toArray();
@@ -115,19 +113,34 @@ public function getRquestRolesAttribute()
115113
'request_status' => 'APPROVED',
116114
])->first();
117115

118-
if (!$cohortRequest) {
116+
if (! $cohortRequest) {
119117
return [];
120118
}
121119

122120
$cohortRequestRoleIds = CohortRequestHasPermission::where([
123-
'cohort_request_id' => $cohortRequest->id
121+
'cohort_request_id' => $cohortRequest->id,
124122
])->pluck('permission_id')->toArray();
125123

126124
$cohortRequestRoles = Permission::whereIn('id', $cohortRequestRoleIds)->pluck('name')->toArray();
127125

128126
return $cohortRequestRoles;
129127
}
130128

129+
public function getCohortDiscoveryNhsSdeAttribute()
130+
{
131+
$id = $this->id;
132+
133+
$nhsSdeApproved = CohortRequest::where([
134+
'user_id' => $id,
135+
'request_status' => 'APPROVED',
136+
'nhse_sde_request_status' => 'APPROVED',
137+
])
138+
->whereNull('nhse_sde_request_expire_at')
139+
->exists();
140+
141+
return $nhsSdeApproved;
142+
}
143+
131144
/**
132145
* Get the tool that owns the user
133146
*/

0 commit comments

Comments
 (0)