From 7a3611ce5597a63a725d566d021fec7804d4bef2 Mon Sep 17 00:00:00 2001 From: Fayyazi Date: Mon, 13 Jan 2020 11:20:05 +0330 Subject: [PATCH] new chnage --- app/Http/Controllers/CycleController.php | 14 ++--- app/Http/Controllers/ItemController.php | 30 +++++++--- app/Http/Controllers/LabelController.php | 60 ++++++++++++------- app/Http/Controllers/PackageController.php | 55 ++++++++--------- app/Http/Controllers/TestTypeController.php | 52 +++++++++++++++- .../vue/components/modal/testresult/Show.vue | 21 ++++--- resources/js/vue/views/Statistics/Chart.vue | 2 +- routes/api.php | 1 + 8 files changed, 157 insertions(+), 78 deletions(-) diff --git a/app/Http/Controllers/CycleController.php b/app/Http/Controllers/CycleController.php index 6847ff66..e4db037e 100644 --- a/app/Http/Controllers/CycleController.php +++ b/app/Http/Controllers/CycleController.php @@ -5,23 +5,23 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\StoreCycleRequest; use App\Cycle; +use App\User; class CycleController extends Controller { public function index(Request $request) { $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; $Cycles = Cycle:: - when($user->cant('showAll'), function($query) use ($user) { - if ($user->hasRole('Supervisor')) { - $query->whereHas('user', function($query) use ($user) { - $query->where('medical_center_id', $user->medical_center_id); + when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); }); } - if ($user->hasRole('User')) { - $query->where('user_id', $user->id); - } }) ->when($request->has('cycle_id') && $request->cycle_id != '', function($query) use($request){ $query->where('id', $request->cycle_id); diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index 2e751779..0d69ce81 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -5,24 +5,24 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\StoreItemRequest; use App\Item; +use App\User; class ItemController extends Controller { public function index(Request $request) { $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; $Items = Item::with('user') - ->when($user->cant('showAll'), function($query) use ($user) { - if ($user->hasRole('Supervisor')) { - $query->whereHas('user', function($query) use ($user) { - $query->where('medical_center_id', $user->medical_center_id); + ->when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); }); } - if ($user->hasRole('User')) { - $query->where('user_id', $user->id); - } }) ->when($request->has('name') && $request->name != '', function($query) use($request){ $query->where('name', 'LIKE', '%'.$request->name.'%'); @@ -86,7 +86,21 @@ class ItemController extends Controller } public function getItems(){ - $Items = Item::with('user')->get(); + + $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; + + $Items = Item::with('user') + + ->when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); + }); + } + })->get(); + return \MessageResponse::data($Items); } diff --git a/app/Http/Controllers/LabelController.php b/app/Http/Controllers/LabelController.php index 5d33e0a0..108326cd 100644 --- a/app/Http/Controllers/LabelController.php +++ b/app/Http/Controllers/LabelController.php @@ -6,26 +6,36 @@ use Illuminate\Http\Request; use App\Http\Requests\StoreLabelRequest; use App\Label; use App\Package; +use App\User; class LabelController extends Controller { public function index(Request $request) { $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; - if ($user->hasRole('Supervisor|User')) { - $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; - } + // if ($user->hasRole('Supervisor|User')) { + // $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; + // } + + // $medical_center_id = null; + // if($request->has('medical_center_id') && $request->medical_center_id != '') { + // $medical_center_id = $request->medical_center_id; + // } $Labels = Label:: - when($user->cant('showAll'), function($query) use ($user) { - if ($user->hasRole('User')) { - $query->where('user_id', $user->id); + when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); + }); } }) ->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function($query) use($request){ @@ -40,11 +50,11 @@ class LabelController extends Controller ->when($request->has('label_id') && $request->label_id != '', function($query) use($request){ $query->where('id', $request->label_id); }) - ->when($medical_center_id, function($query) use($request){ - $query->whereHas('user', function($query) use($request){ - $query->where('medical_center_id', $request->medical_center_id); - }); - }) + // ->when($medical_center_id, function($query) use($medical_center_id){ + // $query->whereHas('user', function($query) use($medical_center_id){ + // $query->where('medical_center_id', $medical_center_id); + // }); + // }) ->with('user', 'user.medical_center')->paginate(10); return \MessageResponse::data($Labels); } @@ -88,10 +98,6 @@ class LabelController extends Controller if (auth('api')->user()->cant('delete', $Label)) { return \MessageResponse::error(trans('messages.access_denied')); } - // if(count($Label->packages)) - // { - // $Label->packages()->detach(); - // } if(count($Label->cycles)) { $Label->cycles()->detach(); @@ -101,7 +107,19 @@ class LabelController extends Controller } public function getLabels() { - $Labels = Label::with('user')->get(); + $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; + + $Labels = Label:: + when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); + }); + } + })->get(); + return \MessageResponse::data($Labels); } diff --git a/app/Http/Controllers/PackageController.php b/app/Http/Controllers/PackageController.php index 65c063a4..bc2d884f 100644 --- a/app/Http/Controllers/PackageController.php +++ b/app/Http/Controllers/PackageController.php @@ -5,25 +5,24 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\StorePackageRequest; use App\Package; +use App\User; class PackageController extends Controller { public function index(Request $request) { $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; $Packages = Package:: - when($user->cant('showAll'), function($query) use ($user) { - if ($user->hasRole('Supervisor')) { - $query->whereHas('user', function($query) use ($user) { - $query->where('medical_center_id', $user->medical_center_id); + when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); }); } - if ($user->hasRole('User')) { - $query->where('user_id', $user->id); - } }) - ->when($request->has('name') && $request->name != '', function($query) use($request){ $query->where('name', 'LIKE', '%'.$request->name.'%'); }) @@ -69,19 +68,16 @@ class PackageController extends Controller $Items[$item['id']] = $count; } } - // dd($Items); + foreach ($Items as $Item => $Count) { - // dump($Item); $PackageObj->items()->attach(array($Item), ['count' => $Count]); } - // $PackageObj->items()->attach($request->items); return \MessageResponse::success(trans('messages.success')); } public function edit(Package $Package) { $Items = []; $Package->load('items'); - // dd($Package); foreach ($Package->items as $item) { for ($i=0; $i < $item->pivot->count ; $i++) { $Items[] = (object) array('id' => $item->id, 'name' => $item->name); @@ -97,18 +93,6 @@ class PackageController extends Controller $Items = []; $count = 1; foreach ($request->items as $key => $item) { - // dump(in_array($item['id'], array_column($Items, 'id'))); - // if (in_array($item['id'], array_column($Items, 'id'))) { - // $index = array_search($item['id'], array_column($Items)); - // dump(array_search($item['id'], $Items)); - // $Items[$index]['count'] += 1; - // // dump($Items); - // } - // else { - // $Item1 = ['id' => $item['id'], 'count' => $count]; - // $Items[] = $Item1; - // } - if (array_key_exists($item['id'], $Items)) { $preCount = $Items[$item['id']]; $Items[$item['id']] = $preCount + 1; @@ -119,14 +103,11 @@ class PackageController extends Controller } $Package->items()->detach(); - // foreach ($Items as $Item) { - // $Package->items()->attach(array($Item['id']), ['count' => $Item['count']]); - // } + foreach ($Items as $Item => $Count) { - // dump($Item, array($Item)); $Package->items()->attach(array($Item), ['count' => $Count]); } - // $Package->items()->sync($request->items); + return \MessageResponse::success(trans('messages.success')); } public function destroy(Package $Package) @@ -162,8 +143,22 @@ class PackageController extends Controller public function getPackages() { - $Packages = Package::with('user')->get(); + $user = auth('api')->user(); + $admin_users = User::role('Admin')->get()->pluck('id')->toArray(); + $admin_users[] = $user->id; + + $Packages = Package:: + when($user->cant('showAll'), function($query) use ($user, $admin_users) { + if ($user->hasRole('Supervisor|User')) { + $query->whereHas('user', function($query) use ($user, $admin_users) { + $query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users); + }); + } + }) + ->with('user')->get(); + return \MessageResponse::data($Packages); + } public function showPackage(Package $Package) { diff --git a/app/Http/Controllers/TestTypeController.php b/app/Http/Controllers/TestTypeController.php index 6509510f..d2f7ca57 100644 --- a/app/Http/Controllers/TestTypeController.php +++ b/app/Http/Controllers/TestTypeController.php @@ -11,10 +11,57 @@ use App\Http\Requests\StoreTestTypeRequest; use \Milon\Barcode\DNS1D; use \Milon\Barcode\DNS2D; + +use App\InputValue; +use App\Gallery; +use App\Uploadable; +use Illuminate\Support\Facades\Storage; + class TestTypeController extends Controller { public function index(Request $request) { + // $testTypes = TestType::where('deleted_at','<>', null)->get(); + // try { + // $return_value = \DB::transaction(function () use ($request) { + // + // $testTypes = \DB::table('test_types')->where('deleted_at','<>', null)->get(); + // dd($testTypes); + // foreach ($testTypes as $testType) { + // $UniqueID = substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, 10); + // \DB::table('test_types')->where('id', $testType->id)->update(['unique_code' => $testType->unique_code.'--'.$UniqueID]); + // $test_results = TestResult::where('test_type_id', $testType->id)->get(); + // if (count($test_results)) { + // + // foreach ($test_results as $test_result) { + // // code... + // if (count($test_result->input_values)) { + // InputValue::where('test_result_id', $test_result->id)->get()->each->delete(); + // } + // if (count($test_result->TitleImage)){ + // foreach ($test_result->TitleImage as $image) { + // Storage::disk('public')->delete(static::storage_path($image->path)); + // Uploadable::where('gallery_id', $image->id)->where('uploadable_id', $test_result->id)->where('uploadable_type', get_class($test_result))->delete(); + // Gallery::where('id', $image->id)->delete(); + // } + // } + // $test_result->delete(); + // } + // + // } + // // dd($testType->id); + // $inputs = Input::with('options')->where('test_type_id', $testType->id)->get(); + // foreach ($inputs as $input) { + // $input->options()->delete(); + // $input->delete(); + // } + // \DB::table('test_types')->where('id', $testType->id)->delete(); +// } +// }); +// } catch (\Exception $e) { +// return response()->json($e->getMessage(), 441); +// } +// dd('s'); if (!auth('api')->user()->can('list', TestType::class)) { return \MessageResponse::error(trans('messages.access_denied')); } @@ -416,9 +463,10 @@ class TestTypeController extends Controller $TestType->delete(); return \MessageResponse::success(trans('messages.success')); } - // public function AllTestTypes() + // public function allArchivedTestTypes() // { - // $testTypes = TestType::pluck('id', 'name'); + // $testTypes = TestType::where('deleted_at','<>', null)->get(); + // dd($testTypes); // return \MessageResponse::data($testTypes); // } diff --git a/resources/js/vue/components/modal/testresult/Show.vue b/resources/js/vue/components/modal/testresult/Show.vue index 8ac50fe7..7f8d4163 100644 --- a/resources/js/vue/components/modal/testresult/Show.vue +++ b/resources/js/vue/components/modal/testresult/Show.vue @@ -169,16 +169,19 @@ UnVerify - - - fas fa-print - Print - - + + + + + fas fa-print + Print + + + diff --git a/resources/js/vue/views/Statistics/Chart.vue b/resources/js/vue/views/Statistics/Chart.vue index 3d956a92..aa033e57 100644 --- a/resources/js/vue/views/Statistics/Chart.vue +++ b/resources/js/vue/views/Statistics/Chart.vue @@ -95,7 +95,7 @@
- +
diff --git a/routes/api.php b/routes/api.php index 8346c77a..046c108f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -62,6 +62,7 @@ Route::middleware('auth:api')->group(function () { Route::resource('Cycles', 'CycleController'); + Route::get('TestTypes/AllArchivedTestTypes', 'TestTypeController@allArchivedTestTypes'); }); Route::post('/BarCode/{Code}/{Type?}', 'BarCodeController@generateBarcode'); Route::post('Package/Barcode/{Code}', 'BarCodeController@generatePackageBarcode');