From 07c2bccf9e8485ce645ca487bac03564a57e19a3 Mon Sep 17 00:00:00 2001 From: Samuel Couillard <43917914+scouillard@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:49:39 -0500 Subject: [PATCH] Add external_account to currentUser (#4740) --- .../components/users/user/forms/UpdateUserForm.jsx | 13 ++++++++----- app/javascript/contexts/auth/AuthProvider.jsx | 1 + app/serializers/current_user_serializer.rb | 6 +++++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/javascript/components/users/user/forms/UpdateUserForm.jsx b/app/javascript/components/users/user/forms/UpdateUserForm.jsx index b6912849..66dddd50 100644 --- a/app/javascript/components/users/user/forms/UpdateUserForm.jsx +++ b/app/javascript/components/users/user/forms/UpdateUserForm.jsx @@ -36,11 +36,14 @@ export default function UpdateUserForm({ user }) { <Form methods={methods} onSubmit={updateUserAPI.mutate}> <FormControl field={fields.name} type="text" /> <FormControl field={fields.email} type="email" readOnly /> - <FormSelect field={fields.language} variant="dropdown"> - { - Object.keys(localesAPI.data || {}).map((code) => <Option key={code} value={code}>{localesAPI.data[code]}</Option>) - } - </FormSelect> + { !currentUser?.external_account + && ( + <FormSelect field={fields.language} variant="dropdown"> + { + Object.keys(localesAPI.data || {}).map((code) => <Option key={code} value={code}>{localesAPI.data[code]}</Option>) + } + </FormSelect> + )} {(canUpdateRole && rolesAPI.data) && ( <FormSelect field={fields.role_id} variant="dropdown"> { diff --git a/app/javascript/contexts/auth/AuthProvider.jsx b/app/javascript/contexts/auth/AuthProvider.jsx index 15f7c6ae..92015a1e 100644 --- a/app/javascript/contexts/auth/AuthProvider.jsx +++ b/app/javascript/contexts/auth/AuthProvider.jsx @@ -27,6 +27,7 @@ export default function AuthProvider({ children }) { role: currentUser?.role, verified: currentUser?.verified, status: currentUser?.status, + external_account: currentUser?.external_account, stateChanging: false, }; diff --git a/app/serializers/current_user_serializer.rb b/app/serializers/current_user_serializer.rb index 2cc5f2e0..8e6133cc 100644 --- a/app/serializers/current_user_serializer.rb +++ b/app/serializers/current_user_serializer.rb @@ -1,12 +1,16 @@ # frozen_string_literal: true class CurrentUserSerializer < UserSerializer - attributes :signed_in, :permissions, :status + attributes :signed_in, :permissions, :status, :external_account def signed_in true end + def external_account + object.external_id? + end + def permissions RolePermission.joins(:permission) .where(role_id: object.role_id) -- GitLab