mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-11 00:41:07 +03:30
fix update info
This commit is contained in:
@@ -2,192 +2,188 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\UpdateInfoUserRequest;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\StoreUserRequest;
|
||||
use App\MedicalCenter;
|
||||
use App\User;
|
||||
use App\Message;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Packages\Messaging\src\Facades\MessageResponse;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
public function index( Request $request )
|
||||
{
|
||||
$user = auth('api')->user();
|
||||
if ($user->cant('list', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
$user = auth( 'api' )->user();
|
||||
if ( $user->cant( 'list' , User::class ) ) {
|
||||
return MessageResponse::error( trans( 'messages.access_denied' ) );
|
||||
}
|
||||
|
||||
if ($user->hasRole('Supervisor')) {
|
||||
if ( $user->hasRole( 'Supervisor' ) ) {
|
||||
$medical_center_id = $user->medical_center_id;
|
||||
} elseif($request->has('medical_center_id') && $request->medical_center_id) {
|
||||
} elseif ( $request->has( 'medical_center_id' ) && $request->medical_center_id ) {
|
||||
$medical_center_id = $request->medical_center_id;
|
||||
} else {
|
||||
$medical_center_id = null;
|
||||
}
|
||||
$Users = User::when($request->has('name') && $request->name, function($query) use($request){
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})
|
||||
->when(($request->has('fromPicker') && $request->fromPicker) || ($request->has('upToPicker') && $request->upToPicker), function ($query) use ($request)
|
||||
{
|
||||
$from = ($request->fromPicker) ? date($request->fromPicker . ' 00:00:00') : date('2010-01-01' . ' 00:00:00');
|
||||
$upTo = ($request->upToPicker) ? date($request->upToPicker . ' 23:59:59') : date('Y-m-d' . ' 23:59:59');
|
||||
return $query->whereBetween('created_at', [$from, $upTo]);
|
||||
})
|
||||
->when($request->has('cell_number') && $request->cell_number, function($query) use($request){
|
||||
$query->where('cell_number', 'LIKE', '%'.$request->cell_number.'%');
|
||||
})
|
||||
->when($request->has('role') && $request->role, function($query) use($request){
|
||||
$query->role($request->role);
|
||||
})
|
||||
->when($medical_center_id, function($query) use ($medical_center_id){
|
||||
$query->where('medical_center_id', $medical_center_id);
|
||||
})
|
||||
->with(['medical_center', 'roles'])->paginate(10);
|
||||
$Users = User::when( $request->has( 'name' ) && $request->name , function ( $query ) use ( $request ) {
|
||||
$query->where( 'name' , 'LIKE' , '%' . $request->name . '%' );
|
||||
} )
|
||||
->when( ( $request->has( 'fromPicker' ) && $request->fromPicker ) || ( $request->has( 'upToPicker' ) && $request->upToPicker ) , function ( $query ) use ( $request ) {
|
||||
$from = ( $request->fromPicker ) ? date( $request->fromPicker . ' 00:00:00' ) : date( '2010-01-01' . ' 00:00:00' );
|
||||
$upTo = ( $request->upToPicker ) ? date( $request->upToPicker . ' 23:59:59' ) : date( 'Y-m-d' . ' 23:59:59' );
|
||||
return $query->whereBetween( 'created_at' , [ $from , $upTo ] );
|
||||
} )
|
||||
->when( $request->has( 'cell_number' ) && $request->cell_number , function ( $query ) use ( $request ) {
|
||||
$query->where( 'cell_number' , 'LIKE' , '%' . $request->cell_number . '%' );
|
||||
} )
|
||||
->when( $request->has( 'role' ) && $request->role , function ( $query ) use ( $request ) {
|
||||
$query->role( $request->role );
|
||||
} )
|
||||
->when( $medical_center_id , function ( $query ) use ( $medical_center_id ) {
|
||||
$query->where( 'medical_center_id' , $medical_center_id );
|
||||
} )
|
||||
->with( [ 'medical_center' , 'roles' ] )->paginate( 10 );
|
||||
|
||||
return \MessageResponse::data($Users);
|
||||
return MessageResponse::data( $Users );
|
||||
}
|
||||
|
||||
public function store(StoreUserRequest $request)
|
||||
public function store( StoreUserRequest $request )
|
||||
{
|
||||
if (auth('api')->user()->cant('store', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.failed'));
|
||||
if ( auth( 'api' )->user()->cant( 'store' , User::class ) ) {
|
||||
return MessageResponse::error( trans( 'messages.failed' ) );
|
||||
}
|
||||
$UserData = [
|
||||
'name' => $request->name ,
|
||||
'cell_number' => $request->cell_number ,
|
||||
'medical_center_id' => $request->medical_center_id ,
|
||||
'status' => 'Suspended',
|
||||
'verified' => "Verified",
|
||||
'password' => bcrypt($request->password),
|
||||
'status' => 'Suspended' ,
|
||||
'verified' => "Verified" ,
|
||||
'password' => bcrypt( $request->password ) ,
|
||||
];
|
||||
User::create($UserData);
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
User::create( $UserData );
|
||||
return MessageResponse::success( trans( 'messages.success' ) );
|
||||
}
|
||||
|
||||
public function edit(User $User)
|
||||
public function edit( User $User )
|
||||
{
|
||||
return \MessageResponse::data($User);
|
||||
return MessageResponse::data( $User );
|
||||
}
|
||||
|
||||
public function update(StoreUserRequest $request, User $User)
|
||||
public function update( StoreUserRequest $request , User $User )
|
||||
{
|
||||
if (auth('api')->user()->cant('update', $User)) {
|
||||
return \MessageResponse::error(trans('messages.failed'));
|
||||
if ( auth( 'api' )->user()->cant( 'update' , $User ) ) {
|
||||
return MessageResponse::error( trans( 'messages.failed' ) );
|
||||
}
|
||||
$UserData = [
|
||||
'name' => $request->name ,
|
||||
'cell_number' => $request->cell_number ,
|
||||
'medical_center_id' => $request->medical_center_id ,
|
||||
'verified' => "Verified",
|
||||
'password' => bcrypt($request->password),
|
||||
'verified' => "Verified" ,
|
||||
'password' => bcrypt( $request->password ) ,
|
||||
];
|
||||
$User->update($UserData);
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
$User->update( $UserData );
|
||||
return MessageResponse::success( trans( 'messages.success' ) );
|
||||
}
|
||||
|
||||
public function destroy(User $User)
|
||||
public function destroy( User $User )
|
||||
{
|
||||
if (auth('api')->user()->cant('delete', $User)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
if ( auth( 'api' )->user()->cant( 'delete' , $User ) ) {
|
||||
return MessageResponse::error( trans( 'messages.access_denied' ) );
|
||||
}
|
||||
$User->delete();
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
return MessageResponse::success( trans( 'messages.success' ) );
|
||||
}
|
||||
|
||||
public function getByMedicalCenter(MedicalCenter $MedicalCenter)
|
||||
public function getByMedicalCenter( MedicalCenter $MedicalCenter )
|
||||
{
|
||||
$user = auth('api')->user();
|
||||
if (auth('api')->user()->cant('getByMedicalCenter', $MedicalCenter)) {
|
||||
return \MessageResponse::error(trans('messages.failed'));
|
||||
$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);
|
||||
$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']);
|
||||
return $query->select( [ 'id' , 'medical_center_id' , 'name' , 'cell_number' , 'status' ] );
|
||||
}
|
||||
}, 'users.roles']);
|
||||
return \MessageResponse::data($MedicalCenter);
|
||||
} , 'users.roles' ] );
|
||||
return MessageResponse::data( $MedicalCenter );
|
||||
}
|
||||
|
||||
public function changeStatus(User $User)
|
||||
public function changeStatus( User $User )
|
||||
{
|
||||
if (auth('api')->user()->cant('changeStatus', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
if ( auth( 'api' )->user()->cant( 'changeStatus' , User::class ) ) {
|
||||
return MessageResponse::error( trans( 'messages.access_denied' ) );
|
||||
}
|
||||
if ($User->status == 'Active') {
|
||||
if ( $User->status == 'Active' ) {
|
||||
$User->status = 'Suspended';
|
||||
$tokens = \DB::table('oauth_access_tokens')->where('user_id', $User->id);
|
||||
foreach($tokens->get() as $token) {
|
||||
\DB::table('oauth_refresh_tokens')->where('access_token_id', $token->id)->delete();
|
||||
$tokens = DB::table( 'oauth_access_tokens' )->where( 'user_id' , $User->id );
|
||||
foreach ( $tokens->get() as $token ) {
|
||||
DB::table( 'oauth_refresh_tokens' )->where( 'access_token_id' , $token->id )->delete();
|
||||
}
|
||||
$tokens->delete();
|
||||
} else {
|
||||
$User->status = 'Active';
|
||||
}
|
||||
$User->save();
|
||||
return \MessageResponse::data($User);
|
||||
return MessageResponse::data( $User );
|
||||
}
|
||||
|
||||
public function changeRole(User $User, Request $request)
|
||||
public function changeRole( User $User , Request $request )
|
||||
{
|
||||
if (auth('api')->user()->cant('changeRole', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
if ( auth( 'api' )->user()->cant( 'changeRole' , User::class ) ) {
|
||||
return MessageResponse::error( trans( 'messages.access_denied' ) );
|
||||
}
|
||||
$User->syncRoles($request->roles);
|
||||
return \MessageResponse::data($User);
|
||||
$User->syncRoles( $request->roles );
|
||||
return MessageResponse::data( $User );
|
||||
}
|
||||
|
||||
public function updateInfo(Request $request)
|
||||
public function updateInfo( UpdateInfoUserRequest $request )
|
||||
{
|
||||
auth('api')->user()->update($request->all());
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
auth( 'api' )->user()->update( $request->validated() );
|
||||
return MessageResponse::success( trans( 'messages.success' ) );
|
||||
}
|
||||
|
||||
public function getInfo()
|
||||
{
|
||||
$user = auth('api')->user();
|
||||
$user->load('medical_center');
|
||||
return \MessageResponse::data([ 'user' => $user, 'roles' => auth('api')->user()->getRoleNames() ]);
|
||||
$user = auth( 'api' )->user();
|
||||
$user->load( 'medical_center' );
|
||||
return MessageResponse::data( [ 'user' => $user , 'roles' => auth( 'api' )->user()->getRoleNames() ] );
|
||||
}
|
||||
|
||||
public function getMessages()
|
||||
{
|
||||
$User = auth('api')->user();
|
||||
// $ReceivedMessages = $User->messagesReceived;
|
||||
// $SentMessages = $User->messagesSent;
|
||||
$SentMessages = Message::with('recipient_user')->where('sender_user_id', $User->id)->get();
|
||||
$ReceivedMessages = Message::with('sender_user')->where('recipient_user_id', $User->id)->get();
|
||||
|
||||
return \MessageResponse::data(['ReceivedMessages' => $ReceivedMessages, 'SentMessages' => $SentMessages]);
|
||||
$User = auth( 'api' )->user();
|
||||
$SentMessages = Message::with( 'recipient_user' )->where( 'sender_user_id' , $User->id )->get();
|
||||
$ReceivedMessages = Message::with( 'sender_user' )->where( 'recipient_user_id' , $User->id )->get();
|
||||
return MessageResponse::data( [ 'ReceivedMessages' => $ReceivedMessages , 'SentMessages' => $SentMessages ] );
|
||||
}
|
||||
|
||||
public function searchUser(Request $request)
|
||||
public function searchUser( Request $request )
|
||||
{
|
||||
// if (auth('api')->user()->cant('searchUser', User::class)) {
|
||||
// return \MessageResponse::error(trans('messages.access_denied'));
|
||||
// }
|
||||
$role = null;
|
||||
$medical_center_id = null;
|
||||
|
||||
$User = auth('api')->user();
|
||||
if ($User->hasRole('Supervisor') || $User->hasRole('User')) {
|
||||
$User = auth( 'api' )->user();
|
||||
if ( $User->hasRole( 'Supervisor' ) || $User->hasRole( 'User' ) ) {
|
||||
$medical_center_id = $User->medical_center_id;
|
||||
if ($User->hasRole('Supervisor')){
|
||||
if ( $User->hasRole( 'Supervisor' ) ) {
|
||||
$role = 'Admin';
|
||||
}
|
||||
}
|
||||
|
||||
$users = User::where('id', '<>', $User->id)->select('id', 'name')->where('name', 'LIKE', '%'.$request->name.'%')
|
||||
->when($medical_center_id, function($query) use ($medical_center_id){
|
||||
$query->where('medical_center_id', $medical_center_id);
|
||||
})
|
||||
->when($role, function($query) use($role){
|
||||
$query->role($role);
|
||||
})
|
||||
->get();
|
||||
return \MessageResponse::data($users);
|
||||
$users = User::where( 'id' , '<>' , $User->id )->select( 'id' , 'name' )->where( 'name' , 'LIKE' , '%' . $request->name . '%' )
|
||||
->when( $medical_center_id , function ( $query ) use ( $medical_center_id ) {
|
||||
$query->where( 'medical_center_id' , $medical_center_id );
|
||||
} )
|
||||
->when( $role , function ( $query ) use ( $role ) {
|
||||
$query->role( $role );
|
||||
} )
|
||||
->get();
|
||||
return MessageResponse::data( $users );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class UpdateInfoUserRequest extends FormRequest
|
||||
{
|
||||
public function authorize()
|
||||
{
|
||||
return auth( 'api' )->check();
|
||||
}
|
||||
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'name' => 'required|string|max:255' ,
|
||||
'email' => 'nullable|email'
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ class TestResult extends Model implements HasMedia
|
||||
{
|
||||
use HasMediaTrait;
|
||||
|
||||
public $fillable = ['result','verified','test_type_id','user_id','device_id', 'cycle_number', 'date'];
|
||||
public $fillable = [ 'result', 'verified', 'test_type_id', 'user_id', 'device_id', 'cycle_number', 'date'];
|
||||
|
||||
public function test_type()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user