X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/bbd8d63652602653b64436d13b6d8ae890a7cfdb..refs/pull/3247/head:/app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 4085e151c..3903682eb 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -62,6 +62,7 @@ class UserController extends Controller $this->checkPermission('users-manage'); $authMethod = config('auth.method'); $roles = $this->userRepo->getAllRoles(); + $this->setPageTitle(trans('settings.users_add_new')); return view('users.create', ['authMethod' => $authMethod, 'roles' => $roles]); } @@ -76,8 +77,9 @@ class UserController extends Controller { $this->checkPermission('users-manage'); $validationRules = [ - 'name' => ['required'], - 'email' => ['required', 'email', 'unique:users,email'], + 'name' => ['required'], + 'email' => ['required', 'email', 'unique:users,email'], + 'setting' => ['array'], ]; $authMethod = config('auth.method'); @@ -104,6 +106,13 @@ class UserController extends Controller DB::transaction(function () use ($user, $sendInvite, $request) { $user->save(); + // Save user-specific settings + if ($request->filled('setting')) { + foreach ($request->get('setting') as $key => $value) { + setting()->putUser($user, $key, $value); + } + } + if ($sendInvite) { $this->inviteService->sendInvitation($user); } @@ -112,9 +121,9 @@ class UserController extends Controller $roles = $request->get('roles'); $this->userRepo->setUserRoles($user, $roles); } - + $this->userRepo->downloadAndAssignUserAvatar($user); - + $this->logActivity(ActivityType::USER_CREATE, $user); }); @@ -198,7 +207,7 @@ class UserController extends Controller $user->external_auth_id = $request->get('external_auth_id'); } - // Save an user-specific settings + // Save user-specific settings if ($request->filled('setting')) { foreach ($request->get('setting') as $key => $value) { setting()->putUser($user, $key, $value);