From 1bfc7229603f286a0144578fe4178b11dde5d137 Mon Sep 17 00:00:00 2001 From: EgleH Date: Thu, 6 Apr 2023 13:43:10 +0200 Subject: [PATCH] fix the webapp blocking account name if exists in anohter SP (#229) * fix the webapp blocking account name if exists in anohter SP * hard reload when changing SP * password settings enhance special chars --------- Co-authored-by: eglehelms --- src/containers/internal/navi/index.tsx | 5 ++++- src/containers/internal/views/accounts/form.tsx | 9 ++++++++- src/utils/index.ts | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/containers/internal/navi/index.tsx b/src/containers/internal/navi/index.tsx index 46378dc..654b65d 100644 --- a/src/containers/internal/navi/index.tsx +++ b/src/containers/internal/navi/index.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useState, useMemo } from "react"; import { classNames, M, Icon, Button } from "@jambonz/ui-kit"; -import { Link, useLocation } from "react-router-dom"; +import { Link, useLocation, useNavigate } from "react-router-dom"; import { Icons, ModalForm } from "src/components"; import { naviTop, naviByo } from "./items"; @@ -20,6 +20,7 @@ import "./styles.scss"; import { ScopedAccess } from "src/components/scoped-access"; import { Scope, UserData } from "src/store/types"; import { USER_ADMIN } from "src/api/constants"; +import { ROUTE_LOGIN } from "src/router/routes"; type CommonProps = { handleMenu: () => void; @@ -61,6 +62,7 @@ export const Navi = ({ handleLogout, }: NaviProps) => { const dispatch = useDispatch(); + const navigate = useNavigate(); const user = useSelectState("user"); const accessControl = useSelectState("accessControl"); const serviceProviders = useSelectState("serviceProviders"); @@ -160,6 +162,7 @@ export const Navi = ({ onChange={(e) => { setSid(e.target.value); setActiveSP(e.target.value); + navigate(ROUTE_LOGIN); }} disabled={user?.scope !== USER_ADMIN} > diff --git a/src/containers/internal/views/accounts/form.tsx b/src/containers/internal/views/accounts/form.tsx index c4c5e66..336be75 100644 --- a/src/containers/internal/views/accounts/form.tsx +++ b/src/containers/internal/views/accounts/form.tsx @@ -158,7 +158,14 @@ export const AccountForm = ({ apps, limits, account }: AccountFormProps) => { ? accounts.filter((a) => a.account_sid !== account.data!.account_sid) : accounts; - if (filtered.find((a) => a.name === name)) { + if ( + account && + filtered.find( + (a) => + a.service_provider_sid !== account.data!.service_provider_sid && + a.name === name + ) + ) { setMessage( "The name you have entered is already in use on another one of your accounts." ); diff --git a/src/utils/index.ts b/src/utils/index.ts index a9ed518..36bd041 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -55,7 +55,7 @@ export const isValidPasswd = ( password.length >= passwordSettings?.min_password_length && (passwordSettings?.require_digit ? /\d/.test(password) : true) && (passwordSettings?.require_special_character - ? /[!@#$%^&*(),.?"';:{}|<>+~]/.test(password) + ? /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(password) : true) ); }