From 8b4dfe4ded541d4f92a635cb981c1fa7dea1c5d7 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Thu, 25 Nov 2021 12:21:29 +0200 Subject: [PATCH] feat: add role name in edit & invite user dialog. --- .../InviteUserDialog.schema.js | 8 ++--- .../InviteUserDialog/InviteUserFormContent.js | 35 +++++++++++++++++-- .../Dialogs/UserFormDialog/UserForm.schema.js | 14 +++----- .../Dialogs/UserFormDialog/UserFormContent.js | 25 ++++++++++++- .../Users/Roles/RolesForm/RolesForm.schema.js | 2 +- src/lang/en/index.json | 3 +- 6 files changed, 67 insertions(+), 20 deletions(-) diff --git a/src/containers/Dialogs/InviteUserDialog/InviteUserDialog.schema.js b/src/containers/Dialogs/InviteUserDialog/InviteUserDialog.schema.js index ee0c34702..315e0ffb4 100644 --- a/src/containers/Dialogs/InviteUserDialog/InviteUserDialog.schema.js +++ b/src/containers/Dialogs/InviteUserDialog/InviteUserDialog.schema.js @@ -2,10 +2,8 @@ import * as Yup from 'yup'; import intl from 'react-intl-universal'; const Schema = Yup.object().shape({ - email: Yup.string() - .email() - .required() - .label(intl.get('email')), + email: Yup.string().email().required().label(intl.get('email')), + role_name: Yup.string().required().label(intl.get('roles.label.role_name_')), }); -export const InviteUserFormSchema = Schema; \ No newline at end of file +export const InviteUserFormSchema = Schema; diff --git a/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.js b/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.js index bcc989cea..9caf162ee 100644 --- a/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.js +++ b/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.js @@ -1,7 +1,11 @@ import React from 'react'; import { FormGroup, InputGroup, Intent, Button } from '@blueprintjs/core'; import { FastField, Form, useFormikContext, ErrorMessage } from 'formik'; -import { FormattedMessage as T } from 'components'; +import { + ListSelect, + FieldRequiredHint, + FormattedMessage as T, +} from 'components'; import { CLASSES } from 'common/classes'; import classNames from 'classnames'; import { inputIntent } from 'utils'; @@ -27,11 +31,12 @@ function InviteUserFormContent({

- + {/* ----------- Email ----------- */} {({ field, meta: { error, touched } }) => ( } + labelInfo={} className={classNames('form-group--email', CLASSES.FILL)} intent={inputIntent({ error, touched })} helperText={} @@ -40,6 +45,32 @@ function InviteUserFormContent({ )} + {/* ----------- Role name ----------- */} + + {({ form, field: { value }, meta: { error, touched } }) => ( + } + labelInfo={} + helperText={} + className={classNames(CLASSES.FILL, 'form-group--role_name')} + intent={inputIntent({ error, touched })} + > + { + // form.setFieldValue('role_name', item.role_id); + // }} + selectedItem={value} + selectedItemProp={'role_id '} + // textProp={'role_name'} + // labelProp={'role_id '} + popoverProps={{ minimal: true }} + intent={inputIntent({ error, touched })} + // filterable={false} + /> + + )} +
diff --git a/src/containers/Dialogs/UserFormDialog/UserForm.schema.js b/src/containers/Dialogs/UserFormDialog/UserForm.schema.js index c7d245827..11f56c4a0 100644 --- a/src/containers/Dialogs/UserFormDialog/UserForm.schema.js +++ b/src/containers/Dialogs/UserFormDialog/UserForm.schema.js @@ -2,20 +2,14 @@ import * as Yup from 'yup'; import intl from 'react-intl-universal'; const Schema = Yup.object().shape({ - email: Yup.string() - .email() - .required() - .label(intl.get('email')), - first_name: Yup.string() - .required() - .label(intl.get('first_name_')), - last_name: Yup.string() - .required() - .label(intl.get('last_name_')), + email: Yup.string().email().required().label(intl.get('email')), + first_name: Yup.string().required().label(intl.get('first_name_')), + last_name: Yup.string().required().label(intl.get('last_name_')), phone_number: Yup.string() .matches() .required() .label(intl.get('phone_number_')), + role_name: Yup.string().required().label(intl.get('roles.label.role_name_')), }); export const UserFormSchema = Schema; diff --git a/src/containers/Dialogs/UserFormDialog/UserFormContent.js b/src/containers/Dialogs/UserFormDialog/UserFormContent.js index 46d168d97..51f70ff15 100644 --- a/src/containers/Dialogs/UserFormDialog/UserFormContent.js +++ b/src/containers/Dialogs/UserFormDialog/UserFormContent.js @@ -11,7 +11,7 @@ import { FormattedMessage as T } from 'components'; import { CLASSES } from 'common/classes'; import classNames from 'classnames'; import { inputIntent } from 'utils'; -import { FieldRequiredHint } from 'components'; +import { ListSelect, FieldRequiredHint } from 'components'; import { useUserFormContext } from './UserFormProvider'; import withDialogActions from 'containers/Dialog/withDialogActions'; import { compose } from 'utils'; @@ -88,6 +88,29 @@ function UserFormContent({ )} + {/* ----------- Role name ----------- */} + + {({ form, field: { value }, meta: { error, touched } }) => ( + } + labelInfo={} + className={classNames('form-group--role_name', CLASSES.FILL)} + intent={inputIntent({ error, touched })} + > + { + // form.setFieldValue('role_name', item.role_id); + // }} + selectedItem={value} + selectedItemProp={'role_id '} + // textProp={'role_name'} + // labelProp={'role_id '} + popoverProps={{ minimal: true }} + /> + + )} +
diff --git a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js index ab1012778..b2f40ecdb 100644 --- a/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js +++ b/src/containers/Preferences/Users/Roles/RolesForm/RolesForm.schema.js @@ -3,7 +3,7 @@ import intl from 'react-intl-universal'; import { DATATYPES_LENGTH } from 'common/dataTypes'; const Schema = Yup.object().shape({ - role_name: Yup.string().required().label(intl.get('roles.label.role_name')), + role_name: Yup.string().required().label(intl.get('roles.label.role_name_')), role_description: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT), permissions: Yup.object().shape({ diff --git a/src/lang/en/index.json b/src/lang/en/index.json index e083506be..f7062edce 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -1473,7 +1473,8 @@ "roles.column.description":"description", "roles.edit_roles":"Edit Roles", "roles.delete_roles":"Delete Roles", - "roles.label.role_name":"Role name", + "roles.label.role_name":"Role Name", + "roles.label.role_name_":"Role name", "sidebar.transactions_locaking":"Transactions Locaking", "transactions_locking.dialog.label":"Transactions locking", "roles.permission_schema.success_message":"The role has been created successfully.",