<?php namespace DummyNamespace;

use DummyRootNamespaceHttp\Requests;
use DummyRootNamespaceHttp\Controllers\Controller;

use DummyRootNamespace{{crudNameSingularCap}};
use Illuminate\Http\Request;
use Carbon\Carbon;
use Lang;

class DummyClass extends Controller {

	/**
	 * Display a listing of the resource.
	 *
	 * @return Response
	 */
	public function index()
	{
		${{crudNamePlural}} = {{crudNameSingularCap}}::latest()->get();
		return view('admin.{{crudNamePlural}}.index', compact('{{crudNamePlural}}'));
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return Response
	 */
	public function create()
	{
		return view('admin.{{crudNamePlural}}.create');
	}

	/**
	 * Store a newly created resource in storage.
	 *
	 * @return Response
	 */
	public function store(Request $request)
	{
		{{crudNameSingular}}::create($request->all());
		return redirect('admin/{{crudNamePlural}}')->with('success', Lang::get('message.success.create'));
	}

	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return Response
	 */
	public function show($id)
	{
		${{crudNameSingular}} = {{crudNameSingularCap}}::findOrFail($id);
		return view('admin.{{crudNamePlural}}.show', compact('{{crudNameSingular}}'));
	}

	/**
	 * Show the form for editing the specified resource.
	 *
	 * @param  int  $id
	 * @return Response
	 */
	public function edit($id)
	{
		${{crudNameSingular}} = {{crudNameSingularCap}}::findOrFail($id);
		return view('admin.{{crudNamePlural}}.edit', compact('{{crudNameSingular}}'));
	}

	/**
	 * Update the specified resource in storage.
	 *
	 * @param  int  $id
	 * @return Response
	 */
	public function update($id, Request $request)
	{
		//$this->validate($request, ['name' => 'required']); // Uncomment and modify if needed.
		${{crudNameSingular}} = {{crudNameSingularCap}}::findOrFail($id);
		${{crudNameSingular}}->update($request->all());
		return redirect('admin/{{crudNamePlural}}')->with('success', Lang::get('message.success.update'));
	}

	/**
    	 * Delete confirmation for the given {{crudNameSingularCap}}.
    	 *
    	 * @param  int      $id
    	 * @return View
    	 */
    	public function getModalDelete($id = null)
    	{
            $error = '';
            $model = '';
            $confirm_route =  route('admin.{{crudNamePlural}}.delete',['id'=>$id]);
            return View('admin/layouts/modal_confirmation', compact('error','model', 'confirm_route'));

    	}

    	/**
    	 * Delete the given {{crudNameSingularCap}}.
    	 *
    	 * @param  int      $id
    	 * @return Redirect
    	 */
    	public function getDelete($id = null)
    	{
    		${{crudNameSingular}} = {{crudNameSingularCap}}::destroy($id);

            // Redirect to the group management page
            return redirect('admin/{{crudNamePlural}}')->with('success', Lang::get('message.success.delete'));

    	}

}