Файловый менеджер - Редактировать - /home/clickysoft/public_html/somni.clickysoft.net/app/Http/Controllers/Admin/MaintenanceController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Requests\MassDestroyMaintenanceRequest; use App\Http\Requests\StoreMaintenanceRequest; use App\Http\Requests\UpdateMaintenanceRequest; use App\Models\Category; use App\Models\Maintenance; use App\Models\Unit; use Gate; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; class MaintenanceController extends Controller { public function index(Request $request) { abort_if(Gate::denies('maintenance_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = Maintenance::with(['unit', 'categories'])->select(sprintf('%s.*', (new Maintenance)->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'maintenance_show'; $editGate = 'maintenance_edit'; $deleteGate = 'maintenance_delete'; $crudRoutePart = 'maintenances'; return view('partials.datatablesActions', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row' )); }); $table->editColumn('id', function ($row) { return $row->id ? $row->id : ''; }); $table->editColumn('task', function ($row) { return $row->task ? $row->task : ''; }); $table->addColumn('unit_number', function ($row) { return $row->unit ? $row->unit->number : ''; }); $table->editColumn('unit.number', function ($row) { return $row->unit ? (is_string($row->unit) ? $row->unit : $row->unit->number) : ''; }); $table->editColumn('category', function ($row) { $labels = []; foreach ($row->categories as $category) { $labels[] = sprintf('<span class="label label-info label-many">%s</span>', $category->name); } return implode(' ', $labels); }); $table->editColumn('status', function ($row) { return $row->status ? Maintenance::STATUS_SELECT[$row->status] : ''; }); $table->rawColumns(['actions', 'placeholder', 'unit', 'category']); return $table->make(true); } $units = Unit::get(); $categories = Category::get(); return view('admin.maintenances.index', compact('units', 'categories')); } public function create() { abort_if(Gate::denies('maintenance_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $units = Unit::pluck('number', 'id')->prepend(trans('global.pleaseSelect'), ''); $categories = Category::pluck('name', 'id'); return view('admin.maintenances.create', compact('categories', 'units')); } public function store(StoreMaintenanceRequest $request) { $maintenance = Maintenance::create($request->all()); $maintenance->categories()->sync($request->input('categories', [])); return redirect()->route('admin.maintenances.index'); } public function edit(Maintenance $maintenance) { abort_if(Gate::denies('maintenance_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $units = Unit::pluck('number', 'id')->prepend(trans('global.pleaseSelect'), ''); $categories = Category::pluck('name', 'id'); $maintenance->load('unit', 'categories'); return view('admin.maintenances.edit', compact('categories', 'maintenance', 'units')); } public function update(UpdateMaintenanceRequest $request, Maintenance $maintenance) { $maintenance->update($request->all()); $maintenance->categories()->sync($request->input('categories', [])); return redirect()->route('admin.maintenances.index'); } public function show(Maintenance $maintenance) { abort_if(Gate::denies('maintenance_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $maintenance->load('unit', 'categories'); return view('admin.maintenances.show', compact('maintenance')); } public function destroy(Maintenance $maintenance) { abort_if(Gate::denies('maintenance_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $maintenance->delete(); return back(); } public function massDestroy(MassDestroyMaintenanceRequest $request) { $maintenances = Maintenance::find(request('ids')); foreach ($maintenances as $maintenance) { $maintenance->delete(); } return response(null, Response::HTTP_NO_CONTENT); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка