Commit 1e420572 authored by Vipul Basapati's avatar Vipul Basapati

Responsable interface implementation on blogs Controller - Up for a debate

parent f03d5211
......@@ -6,6 +6,10 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\Backend\Blogs\ManageBlogsRequest;
use App\Http\Requests\Backend\Blogs\StoreBlogsRequest;
use App\Http\Requests\Backend\Blogs\UpdateBlogsRequest;
use App\Http\Responses\Backend\Blog\IndexResponse;
use App\Http\Responses\Backend\Blog\CreateResponse;
use App\Http\Responses\Backend\Blog\EditResponse;
use App\Http\Responses\RedirectResponse;
use App\Models\BlogCategories\BlogCategory;
use App\Models\Blogs\Blog;
use App\Models\BlogTags\BlogTag;
......@@ -46,9 +50,7 @@ class BlogsController extends Controller
*/
public function index(ManageBlogsRequest $request)
{
return view('backend.blogs.index')->with([
'status'=> $this->status,
]);
return new IndexResponse($this->status);
}
/**
......@@ -61,11 +63,7 @@ class BlogsController extends Controller
$blogTags = BlogTag::getSelectData();
$blogCategories = BlogCategory::getSelectData();
return view('backend.blogs.create')->with([
'blogCategories' => $blogCategories,
'blogTags' => $blogTags,
'status' => $this->status,
]);
return new CreateResponse($this->status, $blogCategories, $blogTags);
}
/**
......@@ -77,9 +75,7 @@ class BlogsController extends Controller
{
$this->blog->create($request->except('_token'));
return redirect()
->route('admin.blogs.index')
->with('flash_success', trans('alerts.backend.blogs.created'));
return new RedirectResponse('admin.blogs.index', ['flash_success' => trans('alerts.backend.blogs.created')]);
}
/**
......@@ -93,17 +89,7 @@ class BlogsController extends Controller
$blogCategories = BlogCategory::getSelectData();
$blogTags = BlogTag::getSelectData();
$selectedCategories = $blog->categories->pluck('id')->toArray();
$selectedtags = $blog->tags->pluck('id')->toArray();
return view('backend.blogs.edit')->with([
'blog' => $blog,
'blogCategories' => $blogCategories,
'blogTags' => $blogTags,
'selectedCategories' => $selectedCategories,
'selectedtags' => $selectedtags,
'status' => $this->status,
]);
return new EditResponse($blog, $this->status, $blogCategories, $blogTags);
}
/**
......@@ -118,9 +104,7 @@ class BlogsController extends Controller
$this->blog->update($blog, $request->except(['_token', '_method']));
return redirect()
->route('admin.blogs.index')
->with('flash_success', trans('alerts.backend.blogs.updated'));
return new RedirectResponse('admin.blogs.index', ['flash_success' => trans('alerts.backend.blogs.updated')]);
}
/**
......@@ -133,8 +117,6 @@ class BlogsController extends Controller
{
$this->blog->delete($blog);
return redirect()
->route('admin.blogs.index')
->with('flash_success', trans('alerts.backend.blogs.deleted'));
return new RedirectResponse('admin.blogs.index', ['flash_success' => trans('alerts.backend.blogs.deleted')]);
}
}
<?php
namespace App\Http\Responses\Backend\Blog;
use Illuminate\Contracts\Support\Responsable;
class CreateResponse implements Responsable
{
protected $status,
$blogTags,
$blogCategories;
public function __construct($status, $blogCategories, $blogTags)
{
$this->status = $status;
$this->blogTags = $blogTags;
$this->blogCategories = $blogCategories;
}
public function toResponse($request)
{
return view('backend.blogs.create')->with([
'blogCategories' => $this->blogCategories,
'blogTags' => $this->blogTags,
'status' => $this->status,
]);
}
}
\ No newline at end of file
<?php
namespace App\Http\Responses\Backend\Blog;
use Illuminate\Contracts\Support\Responsable;
class EditResponse implements Responsable
{
protected $blog,
$status,
$blogTags,
$blogCategories;
public function __construct($blog, $status, $blogCategories, $blogTags)
{
$this->blog = $blog;
$this->status = $status;
$this->blogTags = $blogTags;
$this->blogCategories = $blogCategories;
}
public function toResponse($request)
{
$selectedCategories = $this->blog->categories->pluck('id')->toArray();
$selectedtags = $this->blog->tags->pluck('id')->toArray();
return view('backend.blogs.edit')->with([
'blog' => $this->blog,
'blogCategories' => $this->blogCategories,
'blogTags' => $this->blogTags,
'selectedCategories' => $selectedCategories,
'selectedtags' => $selectedtags,
'status' => $this->status,
]);
}
}
\ No newline at end of file
<?php
namespace App\Http\Responses\Backend\Blog;
use Illuminate\Contracts\Support\Responsable;
class IndexResponse implements Responsable
{
protected $status;
public function __construct($status)
{
$this->status = $status;
}
public function toResponse($request)
{
return view('backend.blogs.index')->with([
'status'=> $this->status,
]);
}
}
\ No newline at end of file
<?php
namespace App\Http\Responses;
use Illuminate\Contracts\Support\Responsable;
class RedirectResponse implements Responsable
{
protected $route,
$message;
public function __construct($route, $message)
{
$this->route = $route;
$this->message = $message;
}
public function toResponse($request)
{
return redirect()
->route($this->route)
->with($this->message);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment