123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Http\Controllers\Controller;
- use App\Models\Item;
- use App\Models\Role;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Gate;
- class ItemsAdminController extends Controller
- {
- public function index()
- {
- if (Gate::denies('is-admin')) {
- return redirect()->route('home')->with(['errors' => 'У вас не достаточно полномочий']);
- }
- $items = DB::table('items')
- ->join('categories', 'items.category_id', '=', 'categories.id')
- ->join('subcategories', 'items.subcategory_id', '=', 'subcategories.id')
- ->select('items.id',
- 'items.user_id as user',
- 'items.caption',
- 'items.description',
- 'categories.title as category',
- 'subcategories.title as subcategory',
- 'items.created_at'
- )
- ->paginate(15);
- if ($items->total() > 0) {
- $colNames = [];
- foreach ($items->first() as $key => $value) {
- $colNames[] = $key;
- }
- $items->title = 'Список предметов';
- $items->colNames = $colNames;
- }
- return view('admin.items', ['items' => $items ?? collect()]);
- }
- public function ajaxItemsRequest(Request $request)
- {
- $content = json_decode($request->getContent());
- if ($content->item) {
- $data = collect([]);
- $data->item = Item::find((int)$content->item);
- $data->item->colNames = $data->item->getAttributes();
- $data->categories = DB::table('categories')->get();
- $data->subcategories = DB::table('subcategories')->get();
- $data->pictures = $data->item->getPictures();
- return view('templates.modal_form', ['data' => $data]);
- }
- return null;
- }
- public function ajaxUsersRequest(Request $request)
- {
- $content = json_decode($request->getContent());
- if ($content->user) {
- $data = collect([]);
- $data->user = User::find((int)$content->user);
- $data->roles = Role::all();
- return view('templates.modal_form', ['data' => $data]);
- }
- return null;
- }
- }
|