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.",