From f2c2b70967289c8c05963ffbf1d370bf066eb1db Mon Sep 17 00:00:00 2001 From: Daniel Ternyak Date: Fri, 15 Feb 2019 13:31:08 -0600 Subject: [PATCH 1/2] Fix 'Edit Profile' form being always disabled; remove email --- .../client/components/Profile/ProfileEdit.tsx | 16 ++-------------- frontend/client/modules/create/utils.ts | 8 +++++--- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/frontend/client/components/Profile/ProfileEdit.tsx b/frontend/client/components/Profile/ProfileEdit.tsx index bc332558..9bc4e910 100644 --- a/frontend/client/components/Profile/ProfileEdit.tsx +++ b/frontend/client/components/Profile/ProfileEdit.tsx @@ -85,8 +85,8 @@ class ProfileEdit extends React.PureComponent { socialVerificationError, activeSocialService, } = this.state; - const error = getCreateTeamMemberError(fields); - const isMissingField = !fields.displayName || !fields.title || !fields.emailAddress; + const error = getCreateTeamMemberError(fields, true); + const isMissingField = !fields.displayName || !fields.title; const isDisabled = !!error || isMissingField || @@ -132,18 +132,6 @@ class ProfileEdit extends React.PureComponent { /> - - - - {Object.values(SOCIAL_INFO).map(s => { const field = fields.socialMedias.find(sm => sm.service === s.service); diff --git a/frontend/client/modules/create/utils.ts b/frontend/client/modules/create/utils.ts index afc06c7b..9961163d 100644 --- a/frontend/client/modules/create/utils.ts +++ b/frontend/client/modules/create/utils.ts @@ -127,13 +127,15 @@ export function getCreateErrors( return errors; } -export function getCreateTeamMemberError(user: User) { +export function getCreateTeamMemberError(user: User, noEmail?: boolean | null) { if (user.displayName.length > 30) { return 'Display name can only be 30 characters maximum'; } else if (user.title.length > 30) { return 'Title can only be 30 characters maximum'; - } else if (!user.emailAddress || !/.+\@.+\..+/.test(user.emailAddress)) { - return 'That doesn’t look like a valid email address'; + } else if (!noEmail) { + if (!user.emailAddress || !/.+\@.+\..+/.test(user.emailAddress)) { + return 'That doesn’t look like a valid email address'; + } } return ''; From 0ac4c0591df86efed351f8b2250d8ce636c956fd Mon Sep 17 00:00:00 2001 From: Daniel Ternyak Date: Sun, 17 Feb 2019 14:36:17 -0600 Subject: [PATCH 2/2] rename and simplify user profile validation function --- frontend/client/components/Profile/ProfileEdit.tsx | 4 ++-- frontend/client/modules/create/utils.ts | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/frontend/client/components/Profile/ProfileEdit.tsx b/frontend/client/components/Profile/ProfileEdit.tsx index 9bc4e910..5ab320c9 100644 --- a/frontend/client/components/Profile/ProfileEdit.tsx +++ b/frontend/client/components/Profile/ProfileEdit.tsx @@ -12,7 +12,7 @@ import { Input, Form, Col, Row, Button, Alert, Icon } from 'antd'; import { SOCIAL_INFO } from 'utils/social'; import { SOCIAL_SERVICE, User } from 'types'; import { UserState } from 'modules/users/reducers'; -import { getCreateTeamMemberError } from 'modules/create/utils'; +import { validateUserProfile } from 'modules/create/utils'; import AvatarEdit from './AvatarEdit'; import './ProfileEdit.less'; @@ -85,7 +85,7 @@ class ProfileEdit extends React.PureComponent { socialVerificationError, activeSocialService, } = this.state; - const error = getCreateTeamMemberError(fields, true); + const error = validateUserProfile(fields); const isMissingField = !fields.displayName || !fields.title; const isDisabled = !!error || diff --git a/frontend/client/modules/create/utils.ts b/frontend/client/modules/create/utils.ts index 9961163d..023d9e57 100644 --- a/frontend/client/modules/create/utils.ts +++ b/frontend/client/modules/create/utils.ts @@ -127,15 +127,11 @@ export function getCreateErrors( return errors; } -export function getCreateTeamMemberError(user: User, noEmail?: boolean | null) { +export function validateUserProfile(user: User) { if (user.displayName.length > 30) { return 'Display name can only be 30 characters maximum'; } else if (user.title.length > 30) { return 'Title can only be 30 characters maximum'; - } else if (!noEmail) { - if (!user.emailAddress || !/.+\@.+\..+/.test(user.emailAddress)) { - return 'That doesn’t look like a valid email address'; - } } return '';