<?php
namespace App\Http\Controllers\Admin;
use App\Helpers\Reply;
use App\Http\Controllers\AdminBaseController;
use App\Http\Requests\Admin\Pages\UpdateRequest;
use App\Models\Pages;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\View;
use Yajra\DataTables\Facades\DataTables;
class PagesController extends AdminBaseController
{
public function __construct()
{
parent::__construct();
$this->pageTitle = 'Pages';
$this->settingActive = 'active';
$this->pagesActive = 'active';
$this->middleware(function ($request, $next) {
if (admin()->type != 'superadmin') {
echo View::make('admin.errors.noaccess', $this->data);
die();
}
return $next($request);
});
}
public function index()
{
return View::make('admin.pages.index', $this->data);
}
// DATA TABLE ajax request
public function ajax_pages()
{
$result = Pages::select('id', 'title', 'description', 'created_at')
->get();
return DataTables::of($result)
->editColumn('created_at', function ($row) {
return date('d-M-Y', strtotime($row->created_at));
})->addColumn('edit', function ($row) {
$string = '<a style="width: 75px;" class="btn purple btn-sm margin-bottom-10" href="javascript:;" onclick="showEdit(' . $row->id . ');return false;" >
<i class="fa fa-edit"></i> ' . trans('core.edit') . '</a>';
return $string;
})
->rawColumns(['title', 'description', 'edit'])
->make();
}
public function edit($id)
{
$this->page = Pages::find($id);
if ($this->page == null) {
return View::make('admin.errors.noaccess', $this->data);
}
return View::make('admin.pages.edit', $this->data);
}
/**
* Update the specified emailtemplate in storage.
*
* @param int $id
* @return Response
*/
public function update(UpdateRequest $request, $id)
{
$email = Pages::findOrFail($id);
$email->title = request()->get('title');
$email->description = request()->get('description');
$email->slug = str_slug(strtolower(request()->get('title')));
$email->save();
return Reply::success('messages.updateSuccess');
}
}