Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['name' => 'required|string', 'email' => 'required|email', 'password' => 'required|string', 'id_perfil' => 'required|integer']);
     if ($validator->fails()) {
         return redirect('admin/configuracoes/usuarios/novo')->withErrors($validator)->withInput();
     } else {
         try {
             $user = new User();
             $user->name = $request->name;
             $user->email = $request->email;
             $user->password = bcrypt($request->password);
             $user->save();
             $funcoes = Funcao::all();
             $cont = 1;
             foreach ($funcoes as $funcao) {
                 try {
                     $permissao = new PermissaoUser();
                     $permissao->id_funcao = $funcao->id_funcao;
                     $permissao->id_user = $user->id;
                     $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());
                 }
             }
             try {
                 $perfilUser = new PerfilUser();
                 $perfilUser->id_perfil = $request->id_perfil;
                 $perfilUser->id_user = $user->id;
                 $perfilUser->save();
             } catch (\Exception $e) {
                 LogR::exception($perfilUser, $e);
                 session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
             }
             session()->flash('flash_message', 'Registro gravado com sucesso!');
         } catch (\Exception $e) {
             LogR::exception($user, $e);
             session()->flash('flash_message', 'Ops!! Ocorreu algum problema!. ' . $e->getMessage());
         }
         return Redirect::back();
     }
 }