mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-11 18:21:18 +03:30
Publish Role
This commit is contained in:
@@ -19,7 +19,7 @@ class LoginController extends Controller
|
||||
'client_id' => config('services.vue_client.id'),
|
||||
'client_secret' => config('services.vue_client.secret'),
|
||||
'username' => $request->cell_number,
|
||||
'password' => $request->password
|
||||
'password' => $request->password,
|
||||
]);
|
||||
|
||||
return app()->handle($request);
|
||||
|
||||
@@ -9,12 +9,14 @@ use App\Http\Requests\StoreMedicalCenterRequest;
|
||||
|
||||
class MedicalCenterController extends Controller
|
||||
{
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
if (!auth('api')->user()->can('list', MedicalCenter::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
$MedicalCenters = MedicalCenter::withCount('users')->paginate(10);
|
||||
$MedicalCenters = MedicalCenter::when($request->has('name') && $request->name, function($query) use($request){
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})->withCount('users')->paginate(10);
|
||||
return \MessageResponse::data($MedicalCenters);
|
||||
}
|
||||
|
||||
@@ -49,10 +51,10 @@ class MedicalCenterController extends Controller
|
||||
|
||||
public function destroy(MedicalCenter $MedicalCenter)
|
||||
{
|
||||
if ($MedicalCenter->users->count() == 0) {
|
||||
$MedicalCenter->delete();
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
if (!auth('api')->user()->can('delete', $MedicalCenter)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
return \MessageResponse::error(trans('messages.failed'));
|
||||
$MedicalCenter->delete();
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ class TestResultController extends Controller
|
||||
return $query->where('verified', $request->verified);
|
||||
})
|
||||
->when($user->hasRole('Supervisor') , function($query) {
|
||||
return $query->with(['user' => function($query) use ($user) {
|
||||
return $query->whereHas('user', function($query) use ($user) {
|
||||
$query->where('medical_center_id', $user->medical_center_id);
|
||||
}]);
|
||||
});
|
||||
})
|
||||
->when($user->hasRole('User') || ( !$user->hasRole('Admin') && !$user->hasRole('Supervisor')), function($query) use ($user) {
|
||||
return $query->where('user_id', $user->id);
|
||||
@@ -36,7 +36,6 @@ class TestResultController extends Controller
|
||||
->paginate(10);
|
||||
|
||||
return \MessageResponse::data($TestResult);
|
||||
|
||||
}
|
||||
|
||||
public function create()
|
||||
@@ -74,7 +73,7 @@ class TestResultController extends Controller
|
||||
$TestResultObj = TestResult::create($TestResult);
|
||||
$TestResultInfo = $request->all();
|
||||
|
||||
$Inputs = Input::with('options','children','children.children')->whereNull('parent_id')->where('test_type_id',$request->test_type_id)->get();
|
||||
$Inputs = Input::with('options','children','children.options')->whereNull('parent_id')->where('test_type_id',$request->test_type_id)->get();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////Inputs
|
||||
foreach ($Inputs as $Input) {
|
||||
@@ -225,9 +224,7 @@ class TestResultController extends Controller
|
||||
|
||||
public function update(StoreTestResultRequest $request, TestResult $TestResult)
|
||||
{
|
||||
// dd($request->all());
|
||||
$TestResultData = [
|
||||
'user_id' => auth('api')->user()->id,
|
||||
'autoclave_id' => $request->autoclave_id,
|
||||
'test_type_id' => $request->test_type_id,
|
||||
'result' => $request->result,
|
||||
@@ -334,7 +331,7 @@ class TestResultController extends Controller
|
||||
|
||||
public function verifyTestResult(TestResult $TestResult)
|
||||
{
|
||||
if (!auth('api')->user()->can('verifyTestResult', $TestResult)) {
|
||||
if (auth('api')->user()->cant('verifyTestResult', $TestResult)) {
|
||||
return \MessageResponse::error(trans('You dont have permission or this test result belongs to another medical center'));
|
||||
}
|
||||
if ($TestResult->verified == 'Verified') {
|
||||
@@ -347,10 +344,13 @@ class TestResultController extends Controller
|
||||
return \MessageResponse::success(trans('messages.success'), null, $TestResult);
|
||||
}
|
||||
|
||||
// TODO: Policy And Check Role
|
||||
public function listFilterItems()
|
||||
{
|
||||
$MedicalCenter = MedicalCenter::select('name', 'id')->get()->toArray();
|
||||
$user = auth('api')->user();
|
||||
$MedicalCenter = MedicalCenter::when(!$user->hasRole('Admin'), function ($query) use ($user)
|
||||
{
|
||||
$query->where('id', $user->medical_center_id);
|
||||
})->select('name', 'id')->get()->toArray();
|
||||
$TestType = TestType::select('name', 'id')->get()->toArray();
|
||||
return \MessageResponse::data([
|
||||
'MedicalCenters' => $MedicalCenter,
|
||||
@@ -360,15 +360,30 @@ class TestResultController extends Controller
|
||||
|
||||
public function chart(Request $request)
|
||||
{
|
||||
$user = auth('api')->user();
|
||||
if ($user->hasRole('User')) {
|
||||
$userId = $user->id;
|
||||
} elseif($request->has('userId') && $request->userId) {
|
||||
$userId = $request->userId;
|
||||
} else {
|
||||
$userId = null;
|
||||
}
|
||||
if ($user->hasRole('Admin') && $request->has('medicalCenterId') && $request->medicalCenterId) {
|
||||
$medicalCenterId = $request->medicalCenterId;
|
||||
} else {
|
||||
$medicalCenterId = $user->medical_center_id;
|
||||
}
|
||||
|
||||
|
||||
$TestResults = TestResult::
|
||||
when($request->has('userId') && $request->userId, function ($query) use ($request)
|
||||
when($userId, function ($query) use ($userId)
|
||||
{
|
||||
$query->where('user_id', $request->userId);
|
||||
$query->where('user_id', $userId);
|
||||
})
|
||||
->when($request->has('medicalCenterId') && $request->medicalCenterId, function ($query) use ($request)
|
||||
->when($medicalCenterId, function ($query) use ($medicalCenterId)
|
||||
{
|
||||
$query->whereHas('user', function($query) use ($request) {
|
||||
$query->where('medical_center_id', $request->medicalCenterId);
|
||||
$query->whereHas('user', function($query) use ($medicalCenterId) {
|
||||
$query->where('medical_center_id', $medicalCenterId);
|
||||
});
|
||||
})
|
||||
->when($request->has('testTypeId') && $request->testTypeId, function ($query) use ($request)
|
||||
@@ -392,6 +407,7 @@ class TestResultController extends Controller
|
||||
$AcceptCount = (isset($TestResults['Accept'])) ? $TestResults['Accept']->count() : 0;
|
||||
$RejectCount = (isset($TestResults['Reject'])) ? $TestResults['Reject']->count() : 0;
|
||||
|
||||
|
||||
return \MessageResponse::data(['labels' => ['Number Of Accepted Test Results', 'Number Of Rejected Test Results'], 'data' => [$AcceptCount,$RejectCount]]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,12 +12,25 @@ use \Milon\Barcode\DNS1D;
|
||||
|
||||
class TestTypeController extends Controller
|
||||
{
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
if (!auth('api')->user()->can('list', TestType::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
$TestTypes = TestType::withCount('test_results')->with('user','user.medical_center')->paginate(10);
|
||||
$TestTypes = TestType::when($request->has('name') && $request->name, function($query) use($request){
|
||||
$query->where('name', 'LIKE', '%'.$request->name.'%');
|
||||
})
|
||||
->when($request->has('date') && $request->date, function($query) use($request){
|
||||
$Date = ($request->date) ? date($request->date . ' 23:59:59') : date('Y-m-d' . ' 23:59:59');
|
||||
$query->where('created_at', $Date);
|
||||
})
|
||||
->when($request->has('unique_code') && $request->unique_code, function($query) use($request){
|
||||
$query->where('unique_code', $request->unique_code);
|
||||
})
|
||||
->when($request->has('user_id') && $request->user_id, function($query) use($request){
|
||||
$query->where('user_id', $request->user_id);
|
||||
})
|
||||
->withCount('test_results')->with('user','user.medical_center')->paginate(10);
|
||||
return \MessageResponse::data($TestTypes);
|
||||
|
||||
}
|
||||
@@ -29,8 +42,9 @@ class TestTypeController extends Controller
|
||||
}
|
||||
$Number = $TestType->unique_code;
|
||||
$Barcode = DNS1D::getBarcodePNGUri($Number, "C128");
|
||||
$QRCode = \DNS2D::getBarcodePNGUri($Number, "QRCODE");
|
||||
$TestType->update(['bar_code' => $Barcode]);
|
||||
return \MessageResponse::data($Barcode);
|
||||
return \MessageResponse::data(['Barcode' => $Barcode, 'QRCode' => $QRCode]);
|
||||
}
|
||||
|
||||
public function create()
|
||||
@@ -299,9 +313,6 @@ class TestTypeController extends Controller
|
||||
|
||||
public function update(StoreTestTypeRequest $request, TestType $TestType)
|
||||
{
|
||||
// if (count($TestType->test_results) > 0) {
|
||||
// return \MessageResponse::error(trans('messages.access_denied'));
|
||||
// }
|
||||
$TestTypeData = [
|
||||
'name' => $request['name'],
|
||||
'unique_code' => $request['unique_code'],
|
||||
|
||||
@@ -1,117 +1,155 @@
|
||||
<?php␍
|
||||
␍
|
||||
␍
|
||||
␍
|
||||
namespace App\Http\Controllers;␍
|
||||
␍
|
||||
␍
|
||||
␍
|
||||
use Illuminate\Http\Request;␍
|
||||
␍
|
||||
use App\Http\Requests\StoreUserRequest;␍
|
||||
use App\MedicalCenter;␍
|
||||
use App\User;␍
|
||||
␍
|
||||
␍
|
||||
␍
|
||||
class UserController extends Controller␍
|
||||
␍
|
||||
{␍
|
||||
␍
|
||||
public function index()␍
|
||||
{␍
|
||||
if (!auth('api')->user()->can('list', User::class)) {␍
|
||||
return \MessageResponse::error(trans('messages.access_denied'));␍
|
||||
}␍
|
||||
$Users = User::with(['medical_center', 'roles'])->paginate(10);␍
|
||||
return \MessageResponse::data($Users);␍
|
||||
␍
|
||||
}␍
|
||||
␍
|
||||
public function store(StoreUserRequest $request)␍
|
||||
{␍
|
||||
$UserData = [␍
|
||||
'name' => $request->name ,␍
|
||||
'cell_number' => $request->cell_number ,␍
|
||||
'medical_center_id' => $request->medical_center_id ,␍
|
||||
'status' => 'PreRegister',␍
|
||||
'verified' => 1,␍
|
||||
'password' => bcrypt($request->password),␍
|
||||
];␍
|
||||
$User = User::create($UserData);␍
|
||||
return \MessageResponse::success(trans('messages.success'));␍
|
||||
}␍
|
||||
␍
|
||||
public function edit(User $User)␍
|
||||
{␍
|
||||
return \MessageResponse::data($User);␍
|
||||
}␍
|
||||
␍
|
||||
public function update(StoreUserRequest $request, User $User)␍
|
||||
{␍
|
||||
$UserData = [␍
|
||||
'name' => $request->name ,␍
|
||||
'cell_number' => $request->cell_number ,␍
|
||||
'medical_center_id' => $request->medical_center_id ,␍
|
||||
'status' => 'PreRegister',␍
|
||||
'verified' => 1,␍
|
||||
'password' => bcrypt($request->password),␍
|
||||
];␍
|
||||
$User->update($UserData);␍
|
||||
return \MessageResponse::success(trans('messages.success'));␍
|
||||
}␍
|
||||
␍
|
||||
public function destroy(User $User)␍
|
||||
{␍
|
||||
if (auth('api')->user()->can('delete', $User)) {␍
|
||||
return \MessageResponse::error(trans('messages.failed'));␍
|
||||
}␍
|
||||
$User->delete();␍
|
||||
return \MessageResponse::success(trans('messages.success'));␍
|
||||
}␍
|
||||
␍
|
||||
␍
|
||||
␍
|
||||
public function getByMedicalCenter(MedicalCenter $MedicalCenter)␍
|
||||
{␍
|
||||
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {␍
|
||||
return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);␍
|
||||
}, 'users.roles']);␍
|
||||
return \MessageResponse::data($MedicalCenter);␍
|
||||
}␍
|
||||
␍
|
||||
public function changeStatus(User $User)␍
|
||||
{␍
|
||||
if (!auth('api')->user()->can('changeStatus', User::class)) {␍
|
||||
return \MessageResponse::error(trans('messages.access_denied'));␍
|
||||
}␍
|
||||
if ($User->status == 'Active') {␍
|
||||
$User->status = 'Suspended';␍
|
||||
} else {␍
|
||||
$User->status = 'Active';␍
|
||||
}␍
|
||||
$User->save();␍
|
||||
return \MessageResponse::data($User);␍
|
||||
}␍
|
||||
␍
|
||||
public function changeRole(User $User, Request $request)␍
|
||||
{␍
|
||||
if (!auth('api')->user()->can('changeRole', User::class)) {␍
|
||||
return \MessageResponse::error(trans('messages.access_denied'));␍
|
||||
}␍
|
||||
$User->syncRoles($request->roles);␍
|
||||
return \MessageResponse::data($User);␍
|
||||
}␍
|
||||
␍
|
||||
public function updateInfo(Request $request)␍
|
||||
{␍
|
||||
auth('api')->user()->update($request->all());␍
|
||||
return \MessageResponse::success(trans('messages.success'));␍
|
||||
}␍
|
||||
␍
|
||||
public function getInfo()␍
|
||||
{␍
|
||||
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);␍
|
||||
}␍
|
||||
␍
|
||||
}␍
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Http\Requests\StoreUserRequest;
|
||||
use App\MedicalCenter;
|
||||
use App\User;
|
||||
|
||||
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = auth('api')->user();
|
||||
if ($user->cant('list', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
|
||||
if ($user->hasRole('Supervisor')) {
|
||||
$medical_center_id = $user->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('date') && $request->date, function($query) use($request){
|
||||
$Date = ($request->date) ? date($request->date . ' 23:59:59') : date('Y-m-d' . ' 23:59:59');
|
||||
$query->where('created_at', $Date);
|
||||
})
|
||||
->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);
|
||||
|
||||
}
|
||||
|
||||
public function store(StoreUserRequest $request)
|
||||
{
|
||||
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' => 'PreRegister',
|
||||
'verified' => 1,
|
||||
'password' => bcrypt($request->password),
|
||||
];
|
||||
User::create($UserData);
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
}
|
||||
|
||||
public function edit(User $User)
|
||||
{
|
||||
return \MessageResponse::data($User);
|
||||
}
|
||||
|
||||
public function update(StoreUserRequest $request, User $User)
|
||||
{
|
||||
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 ,
|
||||
'status' => 'PreRegister',
|
||||
'verified' => 1,
|
||||
'password' => bcrypt($request->password),
|
||||
];
|
||||
$User->update($UserData);
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
}
|
||||
|
||||
public function destroy(User $User)
|
||||
{
|
||||
if (auth('api')->user()->cant('delete', $User)) {
|
||||
return \MessageResponse::error(trans('messages.failed'));
|
||||
}
|
||||
$User->delete();
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
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']);
|
||||
return \MessageResponse::data($MedicalCenter);
|
||||
}
|
||||
|
||||
public function changeStatus(User $User)
|
||||
{
|
||||
if (auth('api')->user()->cant('changeStatus', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
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->delete();
|
||||
} else {
|
||||
$User->status = 'Active';
|
||||
}
|
||||
$User->save();
|
||||
return \MessageResponse::data($User);
|
||||
}
|
||||
|
||||
public function changeRole(User $User, Request $request)
|
||||
{
|
||||
if (auth('api')->user()->cant('changeRole', User::class)) {
|
||||
return \MessageResponse::error(trans('messages.access_denied'));
|
||||
}
|
||||
$User->syncRoles($request->roles);
|
||||
return \MessageResponse::data($User);
|
||||
}
|
||||
|
||||
public function updateInfo(Request $request)
|
||||
{
|
||||
auth('api')->user()->update($request->all());
|
||||
return \MessageResponse::success(trans('messages.success'));
|
||||
}
|
||||
|
||||
public function getInfo()
|
||||
{
|
||||
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user