Exemplo n.º 1
0
 /**
  * @param Request $request
  * @return $this|\Illuminate\Http\RedirectResponse
  */
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['name' => 'required', 'username' => 'required|min:8', 'email' => 'required|email', 'sex' => 'required', 'password' => 'required|same:password_confirmation', 'password_confirmation' => 'required', 'roles' => 'required', 'departamento' => 'required']);
     if ($validator->fails()) {
         return redirect(route('newindex'))->withErrors($validator)->withInput();
     }
     $isError = false;
     try {
         DB::beginTransaction();
         $user = new Users();
         $user->name = $request->name;
         $user->username = $request->username;
         $user->email = $request->email;
         $user->sex = $request->sex;
         $user->password = Hash::make($request->password);
         $user->id_departamento = $request->departamento;
         $user->save();
         foreach ($request->roles as $rol) {
             $role = new DetalleUsuario();
             $role->id_rol = $rol;
             $role->id = $user->id;
             $role->save();
         }
         DB::commit();
     } catch (\Exception $e) {
         $isError = true;
         \Debugbar::addException($e);
         DB::rollBack();
     }
     if ($isError) {
         session()->flash('danger', 'Error al crear usuario');
         return back();
     } else {
         session()->flash('success', 'El usuario fue guardado exitosamente');
         return back();
     }
 }