use BookStack\Uploads\ImageRepo;
use Exception;
use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Illuminate\Validation\Rules\Password;
use Illuminate\Validation\ValidationException;
}
$user->refreshSlug();
- $user->save();
-
- if ($sendInvite) {
- $this->inviteService->sendInvitation($user);
- }
- if ($request->filled('roles')) {
- $roles = $request->get('roles');
- $this->userRepo->setUserRoles($user, $roles);
- }
+ DB::transaction(function () use ($user, $sendInvite, $request) {
+ $user->save();
- $this->userRepo->downloadAndAssignUserAvatar($user);
+ if ($sendInvite) {
+ $this->inviteService->sendInvitation($user);
+ }
- $this->logActivity(ActivityType::USER_CREATE, $user);
+ if ($request->filled('roles')) {
+ $roles = $request->get('roles');
+ $this->userRepo->setUserRoles($user, $roles);
+ }
+
+ $this->userRepo->downloadAndAssignUserAvatar($user);
+
+ $this->logActivity(ActivityType::USER_CREATE, $user);
+ });
return redirect('/settings/users');
}