@@ -14,13 +14,14 @@ import {
1414 userActions ,
1515} from '../../../redux/actions' ;
1616
17- import { userSelectors } from '../../../redux/selectors' ;
17+ import { sessionSelectors , userSelectors } from '../../../redux/selectors' ;
1818import { getTranslateByScope } from '../../../services' ;
1919import { useDispatch } from 'react-redux' ;
2020import { toasterTypes } from '../../../constants' ;
2121import { PrimaryButton } from '../../components/buttons/index' ;
2222import { EmailPopup } from './EmailPopup' ;
2323import { loginAction } from '../../../redux/actions/session/loginAction' ;
24+ import jwt_decode from 'jwt-decode' ;
2425
2526export const translate = getTranslateByScope ( 'ui.layouts.PersonalDetails' ) ;
2627
@@ -38,6 +39,8 @@ export const PersonalDetails: React.FC = () => {
3839 const [ newPassword , setNewPassword ] = useState ( '' ) ;
3940 const [ confirmPassword , setConfirmPassword ] = useState ( '' ) ;
4041
42+ const authToken = useSelector ( sessionSelectors . authenticationToken ) ;
43+ var decoded : any = jwt_decode ( authToken as any ) ;
4144 if ( ! user ) return null ;
4245
4346 const forgotPassword = ( ) => {
@@ -113,6 +116,7 @@ export const PersonalDetails: React.FC = () => {
113116 < Col lg = { 5 } >
114117 < Box marginBottom = "lg" >
115118 < FormTextField
119+ disabled = { ! decoded . permissions . includes ( 'me' ) }
116120 label = { translate ( 'form.fullName.label' ) }
117121 labelColor = "#000"
118122 placeholder = { translate ( 'form.fullName.placeholder' ) }
@@ -123,6 +127,7 @@ export const PersonalDetails: React.FC = () => {
123127
124128 < Box marginBottom = "lg" >
125129 < FormTextField
130+ disabled = { ! decoded . permissions . includes ( 'me' ) }
126131 label = { translate ( 'form.username.label' ) }
127132 labelColor = "#000"
128133 placeholder = { translate ( 'form.username.placeholder' ) }
@@ -151,6 +156,7 @@ export const PersonalDetails: React.FC = () => {
151156 < Col lg = { 5 } >
152157 < Box marginBottom = "lg" >
153158 < FormPasswordField
159+ disabled = { ! decoded . permissions . includes ( 'me' ) }
154160 label = { translate ( 'form.passwordChange.currentPassword.label' ) }
155161 labelColor = "#000"
156162 placeholder = { translate (
@@ -169,6 +175,7 @@ export const PersonalDetails: React.FC = () => {
169175 </ Box >
170176 < Box marginBottom = "lg" >
171177 < FormPasswordField
178+ disabled = { ! decoded . permissions . includes ( 'me' ) }
172179 label = { translate ( 'form.passwordChange.newPassword.label' ) }
173180 labelColor = "#000"
174181 placeholder = { translate (
@@ -185,6 +192,7 @@ export const PersonalDetails: React.FC = () => {
185192 </ Box >
186193 < Box marginBottom = "lg" >
187194 < FormPasswordField
195+ disabled = { ! decoded . permissions . includes ( 'me' ) }
188196 label = { translate ( 'form.passwordChange.confirmPassword.label' ) }
189197 labelColor = "#000"
190198 placeholder = { translate (
0 commit comments