- updated users table;

This commit is contained in:
Vitalii Kiiko
2024-10-21 12:31:49 +02:00
30 changed files with 1157 additions and 196 deletions

View File

@@ -11,6 +11,7 @@ import UserService from '../../service/user-service';
// tools
import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
import { isEmail } from '../../helpers/validators';
// components
import AllUsersTable from './components/AllUsersTable';
@@ -31,7 +32,9 @@ const Users = () => {
lastName: '',
email: '',
phoneNumber: '',
role: ''
password: '',
confPassword: '',
roleId: 0
});
const [roles, setRoles] = useState([]);
const toast = useRef(null);
@@ -51,18 +54,24 @@ const Users = () => {
lastName: '',
email: '',
phoneNumber: '',
role: ''
password: '',
confPassword: '',
roleId: 0
});
}
const saveEditDialog = () => {
setLoading(true);
const body = {
...newUserData,
hubUuid: APP_HUB_ID
}
const emptyValues = Object.values(newUserData).filter(v => isEmpty(v));
UserService.createUser(body, createUserCallback, errCreateUserCallback);
if (isEmpty(emptyValues) && newUserData.password === newUserData.confPassword && !loading) {
setLoading(true);
const body = {
...newUserData,
hubUuid: APP_HUB_ID
}
UserService.createUser(body, createUserCallback, errCreateUserCallback);
}
}
const createUserCallback = (data) => {
@@ -118,6 +127,8 @@ const Users = () => {
storeSet.main.unsetAsyncRequest();
}
const isInvalidField = (data, key) => isEmpty(data[key]) || isNil(data[key])
useEffect(() => {
if (isVisibleEditDialog) {
UserService.getRoles(getRolesCallback, errGetRolesCallback)
@@ -153,42 +164,73 @@ const Users = () => {
<div className="appForm__cols">
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.firstName) || isNil(newUserData.firstName) })}>{__('Nome', 'gepafin')}*</label>
className={classNames({ 'p-error': isInvalidField(newUserData, 'firstName') })}>
{__('Nome', 'gepafin')}*
</label>
<InputText value={newUserData.firstName}
invalid={isEmpty(newUserData.firstName) || isNil(newUserData.firstName)}
invalid={isInvalidField(newUserData, 'firstName')}
onChange={(e) => onChangeEditItem(e.target.value, 'firstName')}/>
</div>
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.lastName) || isNil(newUserData.lastName) })}>{__('Cognome', 'gepafin')}*</label>
className={classNames({ 'p-error': isInvalidField(newUserData, 'lastName') })}>
{__('Cognome', 'gepafin')}*
</label>
<InputText value={newUserData.lastName}
invalid={isEmpty(newUserData.lastName) || isNil(newUserData.lastName)}
invalid={isInvalidField(newUserData, 'lastName')}
onChange={(e) => onChangeEditItem(e.target.value, 'lastName')}/>
</div>
</div>
<div className="appForm__cols">
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.email) || isNil(newUserData.email) })}>{__('Email', 'gepafin')}*</label>
className={classNames({ 'p-error': isEmpty(newUserData.email) || isNil(newUserData.email) || !isEmail(newUserData.email) })}>
{__('Email', 'gepafin')}*
</label>
<InputText value={newUserData.email}
invalid={isEmpty(newUserData.email) || isNil(newUserData.email)}
invalid={isEmpty(newUserData.email) || isNil(newUserData.email) || !isEmail(newUserData.email)}
onChange={(e) => onChangeEditItem(e.target.value, 'email')}/>
</div>
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.phoneNumber) || isNil(newUserData.phoneNumber) })}>{__('Telefono', 'gepafin')}</label>
className={classNames({ 'p-error': isInvalidField(newUserData, 'phoneNumber') })}>
{__('Telefono', 'gepafin')}
</label>
<InputText value={newUserData.phoneNumber}
invalid={isEmpty(newUserData.phoneNumber) || isNil(newUserData.phoneNumber)}
keyfilter="int"
invalid={isInvalidField(newUserData, 'phoneNumber')}
onChange={(e) => onChangeEditItem(e.target.value, 'phoneNumber')}/>
</div>
</div>
<div className="appForm__cols">
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.password) || isNil(newUserData.password) || newUserData.password !== newUserData.confPassword })}>
{__('Password', 'gepafin')}*
</label>
<InputText value={newUserData.password}
invalid={isEmpty(newUserData.password) || isNil(newUserData.password) || newUserData.password !== newUserData.confPassword}
onChange={(e) => onChangeEditItem(e.target.value, 'password')}/>
</div>
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.confPassword) || isNil(newUserData.confPassword) || newUserData.password !== newUserData.confPassword })}>
{__('Conferma password', 'gepafin')}*
</label>
<InputText value={newUserData.confPassword}
invalid={isEmpty(newUserData.confPassword) || isNil(newUserData.confPassword) || newUserData.password !== newUserData.confPassword}
onChange={(e) => onChangeEditItem(e.target.value, 'confPassword')}/>
</div>
</div>
<div className="appForm__field">
<label
className={classNames({ 'p-error': isEmpty(newUserData.role) || isNil(newUserData.role) })}>{__('Ruolo', 'gepafin')}</label>
className={classNames({ 'p-error': isEmpty(newUserData.roleId) || isNil(newUserData.roleId) || newUserData.roleId === 0 })}>
{__('Ruolo', 'gepafin')}*
</label>
<Dropdown
value={newUserData.role}
invalid={isEmpty(newUserData.role) || isNil(newUserData.role)}
onChange={(e) => onChangeEditItem(e.value, 'role')}
value={newUserData.roleId}
invalid={isEmpty(newUserData.roleId) || isNil(newUserData.roleId) || newUserData.roleId === 0}
onChange={(e) => onChangeEditItem(e.value, 'roleId')}
options={roles}
optionLabel="name"
optionValue="value"/>