|
|
@@ -0,0 +1,71 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Http\Controllers;
|
|
|
+
|
|
|
+use App\Http\Requests\StoreResponsibleRequest;
|
|
|
+use App\Models\Dictionary\Area;
|
|
|
+use App\Models\Responsible;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+
|
|
|
+class ResponsibleController extends Controller
|
|
|
+{
|
|
|
+
|
|
|
+ protected array $data = [
|
|
|
+ 'active' => 'responsibles',
|
|
|
+ 'title' => 'Ответственные',
|
|
|
+ 'id' => 'responsibles',
|
|
|
+ 'header' => [
|
|
|
+ 'id' => 'ID',
|
|
|
+ 'area-name' => 'Район',
|
|
|
+ 'name' => 'ФИО',
|
|
|
+ 'phone' => 'Телефон',
|
|
|
+ 'created_at' => 'Дата создания'
|
|
|
+ ],
|
|
|
+ 'searchFields' => [
|
|
|
+ 'name',
|
|
|
+ 'phone',
|
|
|
+ ],
|
|
|
+ 'ranges' => [],
|
|
|
+ 'filters' => [],
|
|
|
+ ];
|
|
|
+ public function __construct()
|
|
|
+ {
|
|
|
+ $this->data['areas'] = Area::query()->get()->pluck('name', 'id');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function index(Request $request)
|
|
|
+ {
|
|
|
+ $model = new Responsible;
|
|
|
+// $this->data['ranges'] = [];
|
|
|
+// $this->createFilters($model, 'area-name');
|
|
|
+ $this->createDateFilters($model, 'created_at');
|
|
|
+
|
|
|
+ $q = $model::query();
|
|
|
+ $this->acceptFilters($q, $request);
|
|
|
+ $this->acceptSearch($q, $request);
|
|
|
+ $this->setSortAndOrderBy($model, $request);
|
|
|
+
|
|
|
+ $q->orderBy($this->data['sortBy'], $this->data['orderBy']);
|
|
|
+ $this->data['responsibles'] = $q->paginate()->withQueryString();
|
|
|
+
|
|
|
+ return view('responsibles.index', $this->data);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function store(StoreResponsibleRequest $request)
|
|
|
+ {
|
|
|
+ $responsible = Responsible::query()->create($request->validated());
|
|
|
+ Area::query()->where('id', $request->validated('area_id'))->update(['areas.responsible_id' => $responsible->id]);
|
|
|
+ return redirect()->route('responsible.index');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function update(StoreResponsibleRequest $request, Responsible $responsible)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public function destroy()
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+}
|