namespace BookStack\Users\Controllers;
use BookStack\Access\SocialDriverManager;
+use BookStack\Access\UserInviteException;
use BookStack\Exceptions\ImageUploadException;
use BookStack\Exceptions\UserUpdateException;
use BookStack\Http\Controller;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Log;
use Illuminate\Validation\Rules\Password;
use Illuminate\Validation\ValidationException;
$validated = $this->validate($request, array_filter($validationRules));
- DB::transaction(function () use ($validated, $sendInvite) {
- $this->userRepo->create($validated, $sendInvite);
- });
+ try {
+ DB::transaction(function () use ($validated, $sendInvite) {
+ $this->userRepo->create($validated, $sendInvite);
+ });
+ } catch (UserInviteException $e) {
+ Log::error("Failed to send user invite with error: {$e->getMessage()}");
+ $this->showErrorNotification(trans('errors.users_could_not_send_invite'));
+ return redirect('/settings/users/create')->withInput();
+ }
return redirect('/settings/users');
}