Skip to content

Commit e454cb9

Browse files
authored
FUI - Bug fixes for User pages (#2781)
1 parent 8d094b2 commit e454cb9

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/components/users/change-password/react/runtime/ChangePasswordRuntime.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ export class ChangePasswordRuntime extends React.Component<ChangePasswordRuntime
4949

5050
const validationGroup = {
5151
password: ValidationMessages.passwordRequired,
52-
newPassword: { required: ValidationMessages.newPasswordRequired, eval: (val) => val.length < 8 && "New password is too short." }, // TODO: password requirements should come from Management API.
52+
newPassword: {
53+
required: ValidationMessages.newPasswordRequired,
54+
eval: (val) => (val.length < 8 && "New password should be at least 8 characters long.") || (val === password && ValidationMessages.newPasswordMustBeDifferent)
55+
}, // TODO for self-hosted: password requirements should come from Management API.
5356
passwordConfirmation: { eval: (val) => val !== newPassword && ValidationMessages.passwordConfirmationMustMatch },
5457
}
5558

src/components/users/confirm-password/react/runtime/ConfirmPasswordRuntime.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export class ConfirmPasswordRuntime extends React.Component<{}, ConfirmPasswordR
7878
}
7979

8080
const validationGroup = {
81-
password: { required: ValidationMessages.passwordRequired, eval: (val) => val.length < 8 && "Password is too short." }, // TODO: password requirements should come from Management API.
81+
password: { required: ValidationMessages.passwordRequired, eval: (val) => val.length < 8 && "Password should be at least 8 characters long." }, // TODO for self-hosted: password requirements should come from Management API.
8282
passwordConfirmation: { eval: (val) => val !== password && ValidationMessages.passwordConfirmationMustMatch },
8383
}
8484

src/components/users/profile/react/runtime/ProfileTable.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ export const ProfileTable = ({ user, save, changePassword, deleteAccount, delega
7878

7979
<TableBody>
8080
<TableRow>
81-
<TableCell>{user.email}</TableCell>
82-
<TableCell>
81+
<TableCell className="text-truncate">{user.email}</TableCell>
82+
<TableCell className="text-truncate">
8383
<ValueOrField
8484
enableSave={false}
8585
isEdit={isEdit}
@@ -90,7 +90,7 @@ export const ProfileTable = ({ user, save, changePassword, deleteAccount, delega
9090
{user.firstName}
9191
</ValueOrField>
9292
</TableCell>
93-
<TableCell>
93+
<TableCell className="text-truncate">
9494
<ValueOrField
9595
enableSave={false}
9696
isEdit={isEdit}

src/components/users/signup/react/runtime/SignUpRuntime.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ export class SignUpRuntime extends React.Component<SignUpRuntimeProps> {
115115

116116
const validationGroup = {
117117
email: ValidationMessages.emailRequired,
118-
password: { required: ValidationMessages.passwordRequired, eval: (val) => val.length < 8 && "Password is too short." }, // TODO: password requirements should come from Management API.
118+
password: { required: ValidationMessages.passwordRequired, eval: (val) => val.length < 8 && "Password should be at least 8 characters long." }, // TODO for self-hosted: password requirements should come from Management API.
119119
passwordConfirmation: { eval: (val) => val !== password && ValidationMessages.passwordConfirmationMustMatch },
120120
firstName: ValidationMessages.firstNameRequired,
121121
lastName: ValidationMessages.lastNameRequired,

src/components/users/validation-summary/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ import { eventTypes } from "../../../logging/clientLogger";
88
export function parseAndDispatchError(
99
eventManager: EventManager,
1010
source: ErrorSources,
11-
error: Error,
11+
error: MapiError,
1212
logger: Logger,
1313
defaultMessage?: string,
1414
errorDetailsMap: (detail: any) => string = detail => `${detail.message}`
1515
): string[] {
1616
let errorDetails: string[];
1717

18-
if (error instanceof MapiError && error.code === "ValidationError" && error.details?.length > 0) {
18+
if (error.code === "ValidationError" && error.details?.length > 0) {
1919
errorDetails = error.details.map(errorDetailsMap); // Prioritize errors from the error.details object.
2020
} else if (error.message) {
2121
errorDetails = [defaultMessage ?? error.message];

0 commit comments

Comments
 (0)