|
|
@@ -6,6 +6,7 @@ use App\Filters\OrderPackageFilters;
|
|
|
use App\Logistic;
|
|
|
use App\OrderPackage;
|
|
|
use App\Owner;
|
|
|
+use App\Services\UserService;
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
class PackageLogisticController extends Controller
|
|
|
@@ -23,12 +24,18 @@ class PackageLogisticController extends Controller
|
|
|
|
|
|
public function index(Request $request,OrderPackageFilters $filters)
|
|
|
{
|
|
|
+ /** @var UserService $userService */
|
|
|
+ $userService = app('UserService');
|
|
|
+ $owner_ids = $userService->getPermittingOwnerIds(auth()->user());
|
|
|
$paginateParams = $request->input();
|
|
|
- $orderPackages = OrderPackage::query()->filter($filters)->with(['order' => function ($query) {
|
|
|
+ $orderPackages = OrderPackage::query()->filter($filters)
|
|
|
+ ->whereIn('order_id',function ($query)use ($owner_ids){
|
|
|
+ $query->from('orders')->select('id')->whereIn('owner_id',$owner_ids);
|
|
|
+ })->with(['order' => function ($query) {
|
|
|
$query->with(['logistic', 'owner', 'packages.commodities']);
|
|
|
}])->orderByDesc('id')->paginate($request->paginate ?? 50);
|
|
|
$logistics = Logistic::all();
|
|
|
- $owners = Owner::all();
|
|
|
+ $owners = Owner::find($owner_ids);
|
|
|
return view('package.logistic.index', compact('orderPackages', 'logistics', 'owners','paginateParams'));
|
|
|
}
|
|
|
}
|