mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 11:21:07 +03:30
Merge pull request 'app/Http/Controllers/UserController.php' (#11) from feature/fix-getByMedicalCenter into master
Reviewed-on: https://git.willaspace.com/external-projects/cssd-back/pulls/11
This commit is contained in:
@@ -162,16 +162,30 @@ class UserController extends Controller
|
|||||||
public function getByMedicalCenter( MedicalCenter $MedicalCenter )
|
public function getByMedicalCenter( MedicalCenter $MedicalCenter )
|
||||||
{
|
{
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
|
|
||||||
if ( auth( 'api' )->user()->cant( 'getByMedicalCenter' , $MedicalCenter ) ) {
|
if ( auth( 'api' )->user()->cant( 'getByMedicalCenter' , $MedicalCenter ) ) {
|
||||||
return MessageResponse::error( trans( 'messages.failed' ) );
|
return MessageResponse::error( trans( 'messages.failed' ) );
|
||||||
}
|
}
|
||||||
|
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 ) {
|
$MedicalCenter = $MedicalCenter->load( [ 'users' => function ( $query ) use ( $user ) {
|
||||||
if ( $user->hasRole( 'User' ) ) {
|
if ( $user->hasRole( 'User' ) ) {
|
||||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )->where( 'id' , $user->id );
|
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )->where( 'id' , $user->id );
|
||||||
} else {
|
} else {
|
||||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] );
|
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] )
|
||||||
|
->whereDoesntHave('roles', function ($roleQuery) {
|
||||||
|
$roleQuery->where('name', 'Admin');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} , 'users.roles' ] );
|
} , 'users.roles' ] );
|
||||||
|
}
|
||||||
|
|
||||||
return MessageResponse::data( $MedicalCenter );
|
return MessageResponse::data( $MedicalCenter );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user