Laravel 5.3 Blog System - Admin Dashboard - Edit, Delete

Laravel 5.3 Blog System - Admin Dashboard - Edit, Delete

Edit & Delete

resources/views/admin/posts/edit.blade.php

@extends('layouts.dashbord') @section('content') Update Post tinymce.init({ selector : "textarea", plugins : ["advlist autolink lists link image charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste"], toolbar : "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image" }); Title Description Thumbnail @if(!old('body')) {!! $post->body !!} @endif {!! old('body') !!} @if($post->active == '1') @else @endif Delete @endsection

App/Http/Controllers/Auth/PostController

public function edit(Request $request, $slug) { public function edit(Request $request, $slug) { $post = Post::where('slug', $slug)->first(); if ($post && ($request->user()->id == $post->author_id || $request->user()->is_admin())) return view('admin/posts/edit')->with('post', $post); return redirect('/')->withErrors('you have not sufficient permissions'); } } public function update(Request $request) { $post_id = $request->input('post_id'); $post = Post::find($post_id); if ($post && ($post->author_id == $request->user()->id || $request->user()->is_admin())) { $title = $request->input('title'); $slug = str_slug($title); $duplicate = Post::where('slug', $slug)->first(); if ($duplicate) { if($duplicate->id != $post_id) { return redirect('admin/posts/editpost/'.$post->slug)->withErrors('Title already exists.')->withInput(); } else { $post->slug = $slug; } } $post->title = $title; // thumbnail upload if ($request->file('images')) { $fileName = str_random(30); $request->file('images')->move("img/",$fileName); } else { $fileName = $post->images; } $post->images = $fileName; $post->body = $request->input('body'); if ($request->has('save')) { $post->active = 0; $message = 'Post saved successfully'; $goto = 'admin/posts/editpost/'.$post->slug; } else { $post->active = 1; $message = 'Post updated successfully'; $goto = 'admin/posts/allposts'; } $post->save(); return redirect($goto)->withMessage($message); } else { return redirect('/')->withErrors('you have not sufficient permissions'); } } public function destroy(Request $request, $id) { $post = Post::find($id); if ($post && ($post->author_id == $request->user()->id || $request->user()->is_admin())) { $post->delete(); $data['message'] = 'Post deleted Successfully'; } else { $data['errors'] = 'Invalid Operation. You have not sufficient permissions'; } return redirect('admin/posts/allposts')->with($data); }

routes/web.php

Route::group(['middleware' => ['auth']], function() { ... // edit form Route::get('admin/posts/editpost/{slug}','Auth\PostController@edit'); // update data Route::post('admin/posts/updatepost','Auth\PostController@update'); // delete post Route::get('admin/posts/deletepost/{id}','Auth\PostController@destroy'); Route::resource('admin/posts', 'Auth\PostController'); });

from http://rudalson.tistory.com/197 by ccl(A) rewrite - 2021-10-27 19:26:19