/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     if (Auth::user() && Auth::user()->id == Config::get('laracancan.super_admin')) {
         $user = Auth::user();
         $input = Input::all();
         $rules = ['name' => 'required|min:3|max:32', 'display_name_en' => 'required|min:3|max:32', 'display_name_pr' => 'required|min:3|max:32', 'display_name_pa' => 'required|min:3|max:32', 'table_name' => 'required|min:3', 'model_name' => 'required|min:3'];
         $validator = Validator::make($input, $rules);
         $error_msg = $validator->errors();
         if (count($error_msg) != 0) {
             return redirect()->back()->withErrors($validator)->withInput();
         }
         $resources = Resource::where('name', '=', $input['name'])->get();
         $resources1 = Resource::where('display_name_en', '=', $input['display_name_en'])->get();
         $resources2 = Resource::where('display_name_pr', '=', $input['display_name_pr'])->get();
         $resources3 = Resource::where('display_name_pa', '=', $input['display_name_pa'])->get();
         if (count($resources) > 0 || count($resources1) > 0 || count($resources2) > 0 || count($resources3) > 0) {
             return redirect()->back()->with('flash_error', 'Resource already exist !');
         }
         $resource = new Resource();
         $resource->name = $input['name'];
         $resource->display_name_en = $input['display_name_en'];
         $resource->display_name_pr = $input['display_name_pr'];
         $resource->display_name_pa = $input['display_name_pa'];
         $resource->table_name = $input['table_name'];
         $resource->model_name = $input['model_name'];
         $resource->in_sidemenu = $input['in_sidemenu'];
         $resource->icon_class = $input['icon_class'];
         $resource->is_reportable = $input['is_reportable'];
         $resource->save();
         return redirect()->back()->with('flash_success', 'Resource added Successfully !');
     }
     return response(view('laracancan::master.401'), 401);
 }