GrafiteInc/CMS

View on GitHub
src/Templates/CRUD/Controller.txt

Summary

Maintainability
Test Coverage
<?php

namespace _namespace_controller_;

use Cms;
use CryptoService;
use Illuminate\Http\Request;
use _app_namespace_Http\Controllers\Controller;
use Cms\Modules\_ucCamel_casePlural_\Services\_camel_case_Service;
use Cms\Modules\_ucCamel_casePlural_\Requests\_camel_case_CreateRequest;
use Cms\Modules\_ucCamel_casePlural_\Requests\_camel_case_UpdateRequest;

class _ucCamel_casePlural_Controller extends Controller
{
    public function __construct(_camel_case_Service $_lower_case_Service)
    {
        $this->service = $_lower_case_Service;
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $_lower_casePlural_ = $this->service->paginated();
        return view('_lower_casePlural_::_lower_casePlural_.index')
            ->with('pagination', $_lower_casePlural_->render())
            ->with('_lower_casePlural_', $_lower_casePlural_);
    }

    /**
     * Display a listing of the resource searched.
     *
     * @return \Illuminate\Http\Response
     */
    public function search(Request $request)
    {
        $_lower_casePlural_ = $this->service->search($request->search);
        return view('_lower_casePlural_::_lower_casePlural_.index')
            ->with('term', $request->search)
            ->with('pagination', $_lower_casePlural_->render())
            ->with('_lower_casePlural_', $_lower_casePlural_);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('_lower_casePlural_::_lower_casePlural_.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\_camel_case_CreateRequest  $request
     * @return \Illuminate\Http\Response
     */
    public function store(_camel_case_CreateRequest $request)
    {
        $result = $this->service->create($request->except('_token'));

        if ($result) {
            Cms::notification('Successfully created', 'success');
            return redirect(config('cms.backend-route-prefix', 'cms').'/_lower_casePlural_/'.$result->id.'/edit');
        }

        Cms::notification('Failed to create', 'warning');
        return redirect(config('cms.backend-route-prefix', 'cms').'/_lower_casePlural_');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $_lower_case_ = $this->service->find($id);
        return view('_lower_casePlural_::_lower_casePlural_.show')->with('_lower_case_', $_lower_case_);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $_lower_case_ = $this->service->find($id);
        return view('_lower_casePlural_::_lower_casePlural_.edit')->with('_lower_case_', $_lower_case_);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\_camel_case_UpdateRequest  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(_camel_case_UpdateRequest $request, $id)
    {
        $result = $this->service->update($id, $request->except(['_token', '_method']));

        if ($result) {
            Cms::notification('Successfully updated', 'success');
            return back();
        }

        Cms::notification('Failed to update', 'warning');
        return back();
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $result = $this->service->destroy($id);

        if ($result) {
            Cms::notification('Successfully deleted', 'success');
            return redirect(config('cms.backend-route-prefix', 'cms').'/_lower_casePlural_');
        }

        Cms::notification('Failed to delete', 'warning');
        return redirect(config('cms.backend-route-prefix', 'cms').'/_lower_casePlural_');
    }
}