mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:31:07 +03:30
app/Http/Controllers/UserController.php
This commit is contained in:
@@ -162,16 +162,30 @@ class UserController extends Controller
|
||||
public function getByMedicalCenter( MedicalCenter $MedicalCenter )
|
||||
{
|
||||
$user = auth( 'api' )->user();
|
||||
|
||||
if ( auth( 'api' )->user()->cant( 'getByMedicalCenter' , $MedicalCenter ) ) {
|
||||
return MessageResponse::error( trans( 'messages.failed' ) );
|
||||
}
|
||||
$MedicalCenter = $MedicalCenter->load( [ 'users' => function ( $query ) use ( $user ) {
|
||||
if ( $user->hasRole( 'User' ) ) {
|
||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )->where( 'id' , $user->id );
|
||||
} else {
|
||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] );
|
||||
}
|
||||
} , 'users.roles' ] );
|
||||
if ($user->hasRole('Admin')){
|
||||
$MedicalCenter = MedicalCenter::with(['users' => function ($query) {
|
||||
$query->select('id', 'medical_center_id', 'name', 'cell_number', 'status')
|
||||
->whereDoesntHave('roles', function ($roleQuery) {
|
||||
$roleQuery->where('name', 'Admin');
|
||||
});
|
||||
}, 'users.roles'])->get();
|
||||
}else{
|
||||
$MedicalCenter = $MedicalCenter->load( [ 'users' => function ( $query ) use ( $user ) {
|
||||
if ( $user->hasRole( 'User' ) ) {
|
||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )->where( 'id' , $user->id );
|
||||
} else {
|
||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )
|
||||
->whereDoesntHave('roles', function ($roleQuery) {
|
||||
$roleQuery->where('name', 'Admin');
|
||||
});
|
||||
}
|
||||
} , 'users.roles' ] );
|
||||
}
|
||||
|
||||
return MessageResponse::data( $MedicalCenter );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user