diff --git a/app/Modules/Admin/Http/Controllers/AdminDocsController.php b/app/Modules/Admin/Http/Controllers/AdminDocsController.php new file mode 100644 index 0000000..9daa1c4 --- /dev/null +++ b/app/Modules/Admin/Http/Controllers/AdminDocsController.php @@ -0,0 +1,72 @@ +get(); + return view('admin::docs.index', [ + 'docs' => $docs + ]); + } + + + public function store(Request $request) + { + $validated = $request->validate([ + 'name' => 'required', + 'description' => '', + 'file' => 'required|mimes:pdf,zip' + ]); + $path = $request->file('file')->store('docs', ['disk' => 'local']); + $request['path'] = $path; + $document = Document::create( + $request->only(['name', 'description', 'path']) + ); + return to_route('admin.docs'); + } + + public function edit(Document $document) + { + return view('admin::docs.edit', [ + 'document' => $document + ]); + } + + public function update(Request $request, Document $document) + { + $validated = $request->validate([ + 'name' => 'required', + 'description' => '', + 'file' => 'mimes:pdf,zip' + ]); + + if ($request->file('file')) + { + $path = $request->file('file')->store('docs', ['disk' => 'local']); + $request['path'] = $path; + } + else + { + $reuqest['path'] = $document->path; + } + $document = $document->update( + $request->only(['name', 'description', 'path']) + ); + return to_route('admin.docs'); + } + + public function delete(Document $document) + { + $document->delete(); + return to_route('admin.docs'); + } +} diff --git a/app/Modules/Admin/Routes/web.php b/app/Modules/Admin/Routes/web.php index a848172..9e33fa1 100644 --- a/app/Modules/Admin/Routes/web.php +++ b/app/Modules/Admin/Routes/web.php @@ -48,4 +48,10 @@ Route::post('/admin/post/{post}/update', [Modules\Admin\Http\Controllers\AdminPostsController::class, 'update'])->name('admin.posts.update'); Route::post('/admin/post/{post}/delete', [Modules\Admin\Http\Controllers\AdminPostsController::class, 'delete'])->name('admin.posts.delete'); + Route::get('/admin/docs', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'index'])->name('admin.docs'); + Route::get('/admin/docs/{document}/edit', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'edit'])->name('admin.docs.edit'); + Route::post('/admin/docs/create', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'store'])->name('admin.docs.create'); + Route::get('/admin/docs/{document}/edit', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'edit'])->name('admin.docs.edit'); + Route::post('/admin/docs/{document}/update', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'update'])->name('admin.docs.update'); + Route::post('/admin/docs/{document}/delete', [Modules\Admin\Http\Controllers\AdminDocsController::class, 'delete'])->name('admin.docs.delete'); }); \ No newline at end of file diff --git a/app/Modules/Admin/Views/docs/edit.blade.php b/app/Modules/Admin/Views/docs/edit.blade.php new file mode 100644 index 0000000..95d9d75 --- /dev/null +++ b/app/Modules/Admin/Views/docs/edit.blade.php @@ -0,0 +1,35 @@ +@php($title = 'Документы / ' . $document->name) +@extends('layouts.admin') +@section('content') +
+@endsection diff --git a/app/Modules/Admin/Views/docs/index.blade.php b/app/Modules/Admin/Views/docs/index.blade.php new file mode 100644 index 0000000..5915cef --- /dev/null +++ b/app/Modules/Admin/Views/docs/index.blade.php @@ -0,0 +1,100 @@ +@php($title = 'Документы') +@extends('layouts.admin') +@section('content') +| Название | +Описание | +Дата создания | ++ |
|---|---|---|---|
| + {{ $document->name }} + | ++ {{ $document->description }} + | ++ {{ $document->created_at ? $document->created_at->diffForHumans() : '' }} + | +
+
+
+
+
+ |
+
- Быстро подберите вариант для клиента из нашего каталога
-10 августа 2024 г.
-
- Быстро подберите вариант для клиента из нашего каталога
-10 августа 2024 г.
-
- Быстро подберите вариант для клиента из нашего каталога
-10 августа 2024 г.
-