From 5370cfefeb18e44293d4149e8a6fe414410d2e57 Mon Sep 17 00:00:00 2001 From: Alex Thomassen Date: Wed, 11 Mar 2020 12:57:13 +0100 Subject: [PATCH] Add blog post create --- app/Http/Controllers/BlogPostController.php | 20 +++++-- app/Http/Requests/BlogPostRequest.php | 5 +- database/seeds/UserSeeder.php | 2 +- resources/views/layouts/app.blade.php | 13 +++++ resources/views/posts/create.blade.php | 52 +++++++++++++++++++ .../views/posts/display-template.blade.php | 6 +++ resources/views/posts/index.blade.php | 7 ++- resources/views/posts/show.blade.php | 13 +++++ routes/web.php | 4 ++ 9 files changed, 111 insertions(+), 11 deletions(-) create mode 100644 resources/views/posts/create.blade.php create mode 100644 resources/views/posts/display-template.blade.php create mode 100644 resources/views/posts/show.blade.php diff --git a/app/Http/Controllers/BlogPostController.php b/app/Http/Controllers/BlogPostController.php index 08eab8c..1f7a0aa 100644 --- a/app/Http/Controllers/BlogPostController.php +++ b/app/Http/Controllers/BlogPostController.php @@ -5,7 +5,8 @@ namespace App\Http\Controllers; use App\BlogPost; use App\User; use Illuminate\Http\Request; -use App\Http\Request\BlogPostRequest; +use App\Http\Requests\BlogPostRequest; +use Auth; class BlogPostController extends Controller { @@ -32,7 +33,7 @@ class BlogPostController extends Controller */ public function create() { - // + return view('posts.create'); } /** @@ -43,7 +44,18 @@ class BlogPostController extends Controller */ public function store(BlogPostRequest $request) { - // + $validated = $request->validated(); + + $post = new BlogPost($validated); + $post->user_id = Auth::id(); + $post->save(); + + $alert = [ + 'type' => 'success', + 'message' => 'Successfully created and published your blog post!', + ]; + + return view('posts.show', compact('post', 'alert')); } /** @@ -54,7 +66,7 @@ class BlogPostController extends Controller */ public function show(BlogPost $post) { - // + return view('posts.show', compact('post')); } /** diff --git a/app/Http/Requests/BlogPostRequest.php b/app/Http/Requests/BlogPostRequest.php index 3d599a3..abf6c00 100644 --- a/app/Http/Requests/BlogPostRequest.php +++ b/app/Http/Requests/BlogPostRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use Auth; class BlogPostRequest extends FormRequest { @@ -25,8 +26,8 @@ class BlogPostRequest extends FormRequest public function rules() { return [ - 'title' => 'required|max:150', - 'body' => 'required', + 'title' => 'required|min:5|max:150', + 'body' => 'required|min:20|max:10000', ]; } diff --git a/database/seeds/UserSeeder.php b/database/seeds/UserSeeder.php index 26975d8..e5d6e8d 100644 --- a/database/seeds/UserSeeder.php +++ b/database/seeds/UserSeeder.php @@ -27,7 +27,7 @@ class UserSeeder extends Seeder $user->name = $name; $user->email = $username . '@example.com'; $user->password = Hash::make('Kaffekopp123'); - $user->admin = true; + $user->admin = $username === 'alex' ? true : false; $user->save(); } diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 6d06d03..7d3b593 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -34,6 +34,19 @@