示例#1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['descricao' => 'required|string']);
     if ($validator->fails()) {
         return redirect('admin/configuracoes/perfis/novo')->withErrors($validator)->withInput();
     } else {
         try {
             $perfil = new Perfil();
             $perfil->descricao = $request->descricao;
             $perfil->save();
             $funcoes = Funcao::all();
             $cont = 1;
             foreach ($funcoes as $funcao) {
                 try {
                     $permissao = new PermissaoPerfil();
                     $permissao->id_funcao = $funcao->id_funcao;
                     $permissao->id_perfil = $perfil->id_perfil;
                     $permissao->id_role = $request->{$cont};
                     $permissao->save();
                     $cont++;
                 } catch (\Exception $e) {
                     LogR::exception($permissao, $e);
                     session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
                 }
             }
             session()->flash('flash_message', 'Registro gravado com sucesso!');
         } catch (\Exception $e) {
             LogR::exception($perfil, $e);
             session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
         }
         return Redirect::back();
     }
 }