Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
peripherad
/
app
/
Http
/
Controllers
/
Admin
:
AddressBookController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\MassDestroyAddressBookRequest; use App\Http\Requests\Admin\StoreAddressBookRequest; use App\Http\Requests\Admin\UpdateAddressBookRequest; use App\Models\AddressBook; use App\Models\User; use Gate; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; class AddressBookController extends Controller { public function index(Request $request) { abort_if(Gate::denies('address_book_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = AddressBook::with(['user'])->select(sprintf('%s.*', (new AddressBook())->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'address_book_show'; $editGate = 'address_book_edit'; $deleteGate = 'address_book_delete'; $crudRoutePart = 'address-books'; return view('partials.datatablesActions', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row' )); }); $table->editColumn('id', function ($row) { return $row->id ? $row->id : ''; }); $table->addColumn('user_name', function ($row) { return $row->user ? $row->user->name : ''; }); $table->editColumn('contact_person', function ($row) { return $row->contact_person ? $row->contact_person : ''; }); $table->editColumn('address_line_1', function ($row) { return $row->address_line_1 ? $row->address_line_1 : ''; }); $table->editColumn('address_line_2', function ($row) { return $row->address_line_2 ? $row->address_line_2 : ''; }); $table->editColumn('city', function ($row) { return $row->city ? $row->city : ''; }); $table->editColumn('state', function ($row) { return $row->state ? $row->state : ''; }); $table->editColumn('country', function ($row) { return $row->country ? $row->country : ''; }); $table->editColumn('zip_code', function ($row) { return $row->zip_code ? $row->zip_code : ''; }); $table->editColumn('is_default', function ($row) { return '<input type="checkbox" disabled ' . ($row->is_default ? 'checked' : null) . '>'; }); $table->rawColumns(['actions', 'placeholder', 'user', 'is_default']); return $table->make(true); } $users = User::get(); return view('admin.addressBooks.index', compact('users')); } public function create() { abort_if(Gate::denies('address_book_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); return view('admin.addressBooks.create', compact('users')); } public function store(StoreAddressBookRequest $request) { $addressBook = AddressBook::create($request->all()); return redirect()->route('admin.address-books.index'); } public function edit(AddressBook $addressBook) { abort_if(Gate::denies('address_book_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $addressBook->load('user'); return view('admin.addressBooks.edit', compact('addressBook', 'users')); } public function update(UpdateAddressBookRequest $request, AddressBook $addressBook) { $addressBook->update($request->all()); return redirect()->route('admin.address-books.index'); } public function show(AddressBook $addressBook) { abort_if(Gate::denies('address_book_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $addressBook->load('user'); return view('admin.addressBooks.show', compact('addressBook')); } public function destroy(AddressBook $addressBook) { abort_if(Gate::denies('address_book_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $addressBook->delete(); return back(); } public function massDestroy(MassDestroyAddressBookRequest $request) { AddressBook::whereIn('id', request('ids'))->delete(); return response(null, Response::HTTP_NO_CONTENT); } }