Blame view
app/Http/Controllers/Admin/ProjectController.php
4.29 KB
c5118e5f3 Админка сайта - в... |
1 2 3 4 5 6 |
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Project; |
6eff6bf11 Админка сайта кат... |
7 |
use Illuminate\Database\Eloquent\Model; |
c5118e5f3 Админка сайта - в... |
8 |
use Illuminate\Http\Request; |
6eff6bf11 Админка сайта кат... |
9 10 |
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; |
c5118e5f3 Админка сайта - в... |
11 12 13 14 15 16 17 18 19 20 |
class ProjectController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { |
6eff6bf11 Админка сайта кат... |
21 22 |
$projects = Project::query()->orderBy('id')->paginate(5); return view('admin.projects.index', compact('projects')); |
c5118e5f3 Админка сайта - в... |
23 24 25 26 27 28 29 30 31 |
} /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { |
6eff6bf11 Админка сайта кат... |
32 |
return view('admin.projects.create'); |
c5118e5f3 Админка сайта - в... |
33 34 35 36 37 38 39 40 41 42 |
} /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { |
6eff6bf11 Админка сайта кат... |
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
$rules = [ 'image' => 'required|min:3|max:10000', 'title' => 'required|min:3|max:255', 'customer' => 'required|min:3|max:255', 'date_project' => 'required|min:3|max:255|date_format:d.m.Y', ]; $messages = [ 'required' => 'Поле не может быть пустым!', 'date' => 'Поле должно быть формата дата', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.project.create') ->withErrors($validator); } else { $Project = new Project(); $Project->title = $request->title; $Project->customer = $request->customer; $Project->date_project = date("Y-m-d", strtotime($request->date_project)); $Project->image = $request->file('image')->store('project', 'public'); $Project->save(); //$area->fotos()->save($foto_area); return redirect()->route('admin.project.index'); } |
c5118e5f3 Админка сайта - в... |
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
} /** * Display the specified resource. * * @param \App\Models\Project $project * @return \Illuminate\Http\Response */ public function show(Project $project) { // } /** * Show the form for editing the specified resource. * * @param \App\Models\Project $project * @return \Illuminate\Http\Response */ public function edit(Project $project) { |
6eff6bf11 Админка сайта кат... |
91 |
return view('admin.projects.edit', compact('project')); |
c5118e5f3 Админка сайта - в... |
92 93 94 95 96 97 98 99 100 101 102 |
} /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Project $project * @return \Illuminate\Http\Response */ public function update(Request $request, Project $project) { |
6eff6bf11 Админка сайта кат... |
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
$rules = [ 'title' => 'required|min:3|max:255', 'customer' => 'required|min:3|max:255', 'date_project' => 'required|min:3|max:255|date_format:d.m.Y', ]; if (empty($project->image)) { $rules['image'] = 'required|min:3|max:10000'; } $messages = [ 'required' => 'Поле не может быть пустым!', ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return redirect()->route('admin.project.edit', ['project' => $project->id]) ->withErrors($validator); } else { $params = $request->all(); unset($params['image']); if ($request->has('image')) { Storage::delete($project->image); $params['image'] = $request->file('image')->store('project', 'public'); } $project->update($params); return redirect()->route('admin.project.index'); } |
c5118e5f3 Админка сайта - в... |
132 133 134 135 136 137 138 139 140 141 |
} /** * Remove the specified resource from storage. * * @param \App\Models\Project $project * @return \Illuminate\Http\Response */ public function destroy(Project $project) { |
6eff6bf11 Админка сайта кат... |
142 143 144 145 146 |
if (!empty($project->image)) { Storage::delete($project->image); } $project->delete(); return redirect()->route('admin.project.index'); |
c5118e5f3 Админка сайта - в... |
147 148 |
} } |