File "FaqController.php"

Full Path: /home/isoftco/public_html/hrm/app/Http/Controllers/Admin/FaqController.php
File size: 3.26 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers\Admin;

use App\Classes\Reply;
use App\Http\Controllers\AdminBaseController;
use App\Http\Requests\Admin\Faq\StoreRequest;
use App\Http\Requests\Admin\Faq\UpdateRequest;
use App\Models\Faq;
use App\Models\FaqCategory;
use App\Models\Plan;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\View;
use Yajra\DataTables\Facades\DataTables;



class FaqController extends AdminBaseController
{

    public function __construct()
    {
        parent::__construct();
        $this->pageTitle = 'FAQ';
        $this->faqOpen = 'active open';
        $this->faqActive = 'active';
        $this->faqCategories = FaqCategory::all();

        $this->middleware(function ($request, $next) {
            if (admin()->type != 'superadmin') {
                echo View::make('admin.errors.noaccess', $this->data);
                die();
            }
            return $next($request);
        });
    }

    public function index()
    {
        $plans = Plan::all();

        return View::make('admin.faq.index', $this->data);
    }

    // DATA TABLE ajax request
    public function ajaxFaqs()
    {
        $result = Faq::select('faq.id', 'faq_category.name as name', 'title', 'content_text')
            ->join('faq_category', 'faq_category.id', '=', 'faq.faq_category_id')
            ->orderBy('faq.created_at', 'desc')
            ->get();

        return DataTables::of($result)
            ->addColumn('edit', function ($row) {
            $string = '<a  class="btn green btn-sm"  href="javascript:;" onclick="showEdit(' . $row->id . ');return false;" ><i class="fa fa-edit"></i> ' . trans('core.edit') . '</a>'.
                '<a class="btn red btn-sm" href="javascript:;" onclick="del(\'' .
                $row->id . '\',\'' . addslashes($row->title) .
                '\')"><i class="fa fa-trash"></i><span class="hidden-sm hidden-xs"> ' .
                trans("core.btnDelete") . '</span></a>';
            return $string;
        })
        ->rawColumns(['edit'])
        ->make();
    }

    public function create()
    {
        $this->faq = new Faq();

        return View::make('admin.faq.create', $this->data);
    }

    public function store(StoreRequest $request)
    {
        $faq = new Faq();

        $faq->title = $request->title;
        $faq->content_text = $request->content_text;
        $faq->faq_category_id = $request->faq_category_id;
        $faq->save();

        $output['msg'] = trans("messages.updateSuccess");

        return Reply::success(trans("messages.updateSuccess"));
    }

    public function edit($id)
    {
        //Check employee Company
        $this->faq = Faq::find($id);

        return View::make('admin.faq.edit', $this->data);
    }

    public function update(UpdateRequest $request, $id)
    {
        $faq = Faq::find($id);

        $faq->title = $request->title;
        $faq->content_text = $request->content_text;
        $faq->faq_category_id = $request->faq_category_id;
        $faq->save();

        $output['msg'] = trans("messages.updateSuccess");

        return Reply::success(trans("messages.updateSuccess"));
    }

    public function destroy($id)
    {
        Faq::where('id', $id)
            ->delete();

        $output['success'] = 'deleted';

        return Response::json($output, 200);
    }

}