From cdd9fcf7bf49e4468c2290e30a98c6730a334900 Mon Sep 17 00:00:00 2001 From: Mateja Date: Mon, 2 Nov 2020 17:45:41 +0100 Subject: News system finished... --- app/Http/Controllers/NewsController.php | 63 +++++++++++++++++++++++-- app/Http/Controllers/SpecialCallsController.php | 2 +- 2 files changed, 60 insertions(+), 5 deletions(-) (limited to 'app/Http/Controllers') diff --git a/app/Http/Controllers/NewsController.php b/app/Http/Controllers/NewsController.php index d44ebd9..306066c 100644 --- a/app/Http/Controllers/NewsController.php +++ b/app/Http/Controllers/NewsController.php @@ -5,6 +5,9 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use function dd; +use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Redirect; + use App\Models\Post; class NewsController extends Controller @@ -32,6 +35,8 @@ class NewsController extends Controller public function create() { // + $data = Post::orderBy('created_at', 'desc')->get(); + return view('pages.news-admin', compact('data')); } /** @@ -42,7 +47,29 @@ class NewsController extends Controller */ public function store(Request $request) { - // + $rules = [ + 'title' => 'required', + 'text' => 'required' + ]; + $messages = [ + 'sign.required' => 'You need to provide a title!', + 'text.required' => 'Your post needs to have some information!' + ]; + $validator = Validator::make($request->all(), $rules, $messages); + + if ($validator->fails()) { + return Redirect::back() + ->withErrors($validator) + ->withInput(); + } + + $post = new Post(); + $post->title = $request->title; + $post->author = $request->author; + $post->text = $request->text; + $post->saveOrFail(); + + return Redirect::back()->with('status', "New post added."); } /** @@ -64,7 +91,8 @@ class NewsController extends Controller */ public function edit($id) { - // + $data = Post::findOrFail($id); + return view('pages.editpost', compact('data')); } /** @@ -76,7 +104,31 @@ class NewsController extends Controller */ public function update(Request $request, $id) { - // + if ($request->input('submit') == 'Edit post') { + $rules = [ + 'title' => 'required', + 'text' => 'required' + ]; + $messages = [ + 'sign.required' => 'You need to provide a title!', + 'text.required' => 'Your post needs to have some information!' + ]; + $validator = Validator::make($request->all(), $rules, $messages); + + if ($validator->fails()) { + return Redirect::back() + ->withErrors($validator) + ->withInput(); + } + + $post = Post::findOrFail($id); + $post->title = $request->title; + $post->author = $request->author; + $post->text = $request->text; + $post->saveOrFail(); + + return Redirect::route('newsAdd')->with('statusE', "Post edited."); + } else return Redirect::route('newsAdd'); } /** @@ -87,6 +139,9 @@ class NewsController extends Controller */ public function destroy($id) { - // + $post = Post::findOrFail($id); + $title = $post->title; + $post->delete(); + return Redirect::back()->with('statusE', "Post \"$title\" deleted."); } } diff --git a/app/Http/Controllers/SpecialCallsController.php b/app/Http/Controllers/SpecialCallsController.php index ed29346..b99b7ac 100644 --- a/app/Http/Controllers/SpecialCallsController.php +++ b/app/Http/Controllers/SpecialCallsController.php @@ -67,7 +67,7 @@ class SpecialCallsController extends Controller } else return Redirect::route('addSign'); } - public function delete(Request $request, int $id) + public function destroy(Request $request, int $id) { //SpecialCall::findOrFail($id)->delete(); $sign = SpecialCall::findOrFail($id); -- cgit v1.2.3