From 3b922da9d5b3c98b29e4a75397406b495a886140 Mon Sep 17 00:00:00 2001
From: Ahmad Farhat <ahmad.af.farhat@gmail.com>
Date: Mon, 6 Feb 2023 10:05:20 -0500
Subject: [PATCH] Fix language dropdown being hidden on profile for external
 accounts (#4762)

* Fix language dropdown being hidden on profile for external accounts

* eslint
---
 .../components/users/user/Profile.jsx         | 24 ++++++++++++-------
 .../users/user/forms/UpdateUserForm.jsx       | 13 ++++------
 2 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/app/javascript/components/users/user/Profile.jsx b/app/javascript/components/users/user/Profile.jsx
index be095fba..0ce230cb 100644
--- a/app/javascript/components/users/user/Profile.jsx
+++ b/app/javascript/components/users/user/Profile.jsx
@@ -30,12 +30,15 @@ export default function Profile() {
                       { t('user.account.account_info') }
                     </Nav.Link>
                   </Nav.Item>
-                  <Nav.Item>
-                    <Nav.Link className="cursor-pointer text-muted" eventKey="third">
-                      <LockClosedIcon className="hi-s text-muted me-3 pb-1" />
-                      { t('user.account.change_password') }
-                    </Nav.Link>
-                  </Nav.Item>
+                  { !currentUser.external_account
+                    && (
+                    <Nav.Item>
+                      <Nav.Link className="cursor-pointer text-muted" eventKey="third">
+                        <LockClosedIcon className="hi-s text-muted me-3 pb-1" />
+                        { t('user.account.change_password') }
+                      </Nav.Link>
+                    </Nav.Item>
+                    )}
                   <Nav.Item>
                     <Nav.Link className="cursor-pointer text-muted" eventKey="second">
                       <TrashIcon className="hi-s text-muted me-3 pb-1" />
@@ -53,9 +56,12 @@ export default function Profile() {
                 <Tab.Pane eventKey="second">
                   <DeleteAccount />
                 </Tab.Pane>
-                <Tab.Pane eventKey="third">
-                  <ChangePassword />
-                </Tab.Pane>
+                { !currentUser.external_account
+                  && (
+                  <Tab.Pane eventKey="third">
+                    <ChangePassword />
+                  </Tab.Pane>
+                  )}
               </Tab.Content>
             </Col>
           </Row>
diff --git a/app/javascript/components/users/user/forms/UpdateUserForm.jsx b/app/javascript/components/users/user/forms/UpdateUserForm.jsx
index 66dddd50..b6912849 100644
--- a/app/javascript/components/users/user/forms/UpdateUserForm.jsx
+++ b/app/javascript/components/users/user/forms/UpdateUserForm.jsx
@@ -36,14 +36,11 @@ export default function UpdateUserForm({ user }) {
     <Form methods={methods} onSubmit={updateUserAPI.mutate}>
       <FormControl field={fields.name} type="text" />
       <FormControl field={fields.email} type="email" readOnly />
-      { !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>
-        )}
+      <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">
           {
-- 
GitLab