@@ -47,6 +47,7 @@ import { ENDPOINTS } from 'utils/URL';
4747
4848const patt = RegExp ( / ^ ( [ \w . % + - ] + ) @ ( [ \w - ] + \. ) + ( [ \w ] { 2 , } ) $ / i) ;
4949const DATE_PICKER_MIN_DATE = '01/01/2010' ;
50+ const DEFAULT_PASSWORD = '123Welcome!' ;
5051
5152class UserProfileAdd extends Component {
5253 constructor ( props ) {
@@ -81,6 +82,7 @@ class UserProfileAdd extends Component {
8182 createdDate : new Date ( ) ,
8283 actualEmail : '' ,
8384 actualPassword : '' ,
85+ defaultPassword : DEFAULT_PASSWORD ,
8486 startDate : new Date ( ) ,
8587 actualConfirmedPassword : '' ,
8688 } ,
@@ -93,6 +95,7 @@ class UserProfileAdd extends Component {
9395 actualEmail : 'Actual Email is required' ,
9496 actualPassword : 'Actual Password is required' ,
9597 actualConfirmedPassword : 'Actual Confirmed Password is required' ,
98+ defaultPassword : 'Default Password is required' ,
9699 jobTitle : 'Job Title is required' ,
97100 } ,
98101 timeZoneFilter : '' ,
@@ -161,6 +164,7 @@ class UserProfileAdd extends Component {
161164 actualPassword,
162165 actualConfirmedPassword,
163166 jobTitle,
167+ defaultPassword,
164168 } = this . state . userProfile ;
165169
166170 const darkMode = this . props . darkMode ;
@@ -368,6 +372,25 @@ class UserProfileAdd extends Component {
368372 </ FormGroup >
369373 </ Col >
370374 </ Row >
375+ < Row className = "user-add-row" >
376+ < Col md = { { size : 4 } } className = "text-md-right my-2" >
377+ < Label className = { fontColor } > Default Password</ Label >
378+ </ Col >
379+ < Col md = "6" >
380+ < FormGroup >
381+ < CommonInput
382+ type = "password"
383+ name = "defaultPassword"
384+ id = "defaultPassword"
385+ value = { DEFAULT_PASSWORD }
386+ disabled
387+ readOnly
388+
389+ className = "d-flex justify-start items-start"
390+ />
391+ </ FormGroup >
392+ </ Col >
393+ </ Row >
371394 { ( role === 'Administrator' || role === 'Owner' ) && (
372395 < >
373396 < Row className = "user-add-row" >
@@ -402,7 +425,7 @@ class UserProfileAdd extends Component {
402425 value = { actualPassword }
403426 onChange = { ( e ) => this . handleUserProfile ( e ) }
404427 placeholder = "Actual Password"
405- invalid = { ! ! this . state . formErrors . actualPassword ? this . state . formErrors . actualPassword : "" }
428+ invalid = { ! ! this . state . formErrors . actualPassword }
406429 className = "d-flex justify-start items-start"
407430 />
408431 </ FormGroup >
@@ -697,13 +720,18 @@ class UserProfileAdd extends Component {
697720 const firstLength = this . state . userProfile . firstName !== '' ;
698721 const lastLength = this . state . userProfile . lastName !== '' ;
699722 const phone = this . state . userProfile . phoneNumber ;
723+ const role = this . state . userProfile . role ;
724+ const defaultPassword = this . state . userProfile . defaultPassword ;
700725
701726 if ( phone === null ) {
702727 toast . error ( 'Phone Number is required' ) ;
703728 return false ;
704729 } else if ( this . state . teamCode && ! this . state . codeValid ) {
705730 toast . error ( 'Team Code is invalid' ) ;
706731 return false ;
732+ } else if ( role !== 'Administrator' && role !== 'Owner' && ! defaultPassword ) {
733+ toast . error ( 'Default Password is required for non-admin users' ) ;
734+ return false ;
707735 } else if ( firstLength && lastLength && phone . length >= 9 ) {
708736 return true ;
709737 } else {
@@ -746,11 +774,11 @@ class UserProfileAdd extends Component {
746774 actualEmail,
747775 actualPassword,
748776 startDate,
749- actualConfirmedPassword
777+ actualConfirmedPassword,
750778 } = that . state . userProfile ;
751779
752780 const userData = {
753- password : process . env . REACT_APP_DEF_PWD ,
781+ password : DEFAULT_PASSWORD ,
754782 role : role ,
755783 firstName : firstName ,
756784 lastName : lastName ,
@@ -771,8 +799,8 @@ class UserProfileAdd extends Component {
771799 allowsDuplicateName : allowsDuplicateName ,
772800 createdDate : createdDate ,
773801 teamCode : this . state . teamCode ,
774- actualEmail : actualEmail ,
775- actualPassword : actualPassword ,
802+ actualEmail : role === 'Administrator' || role === 'Owner' ? actualEmail : '' ,
803+ actualPassword : role === 'Administrator' || role === 'Owner' ? actualPassword : '' ,
776804 startDate : startDate ,
777805 } ;
778806
@@ -1225,6 +1253,18 @@ class UserProfileAdd extends Component {
12251253 } ,
12261254 } ) ;
12271255 break ;
1256+ case 'defaultPassword' :
1257+ this . setState ( {
1258+ userProfile : {
1259+ ...userProfile ,
1260+ defaultPassword : event . target . value ,
1261+ } ,
1262+ formErrors : {
1263+ ...formErrors ,
1264+ defaultPassword : event . target . value . length > 0 ? '' : 'Default Password is required' ,
1265+ } ,
1266+ } ) ;
1267+ break ;
12281268 default :
12291269 this . setState ( {
12301270 ...userProfile ,
@@ -1252,4 +1292,4 @@ export default connect(mapStateToProps, {
12521292 addTeamMember,
12531293 fetchAllProjects,
12541294 hasPermission,
1255- } ) ( UserProfileAdd ) ;
1295+ } ) ( UserProfileAdd ) ;
0 commit comments