diff --git a/app/javascript/components/users/user/forms/UpdateUserForm.jsx b/app/javascript/components/users/user/forms/UpdateUserForm.jsx index b69128491eb9cf5dfa6a42f78227cea6f3dddf0e..66dddd50a5999731dbcf7324c19396c38574876b 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 15f7c6ae640e831a953df339d7ba54bd53fa2087..92015a1efbacd4c89652e1a76f091fdfa90a8055 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 2cc5f2e03a59f246d703f02e2565e995198c4cb3..8e6133cc65906ecf8e4ae106c28bb52c4a424e04 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)