mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:51:07 +03:30
new chnage
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user