new chnage

This commit is contained in:
Fayyazi
2020-01-13 11:20:05 +03:30
parent 86a3479c9a
commit 7a3611ce55
8 changed files with 157 additions and 78 deletions
+25 -30
View File
@@ -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)
{