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
-