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