浏览代码

update check pasword special character and update org btn auth and application Id i18n

CR003
Alex Cheung 1年前
父节点
当前提交
414e5da675
共有 10 个文件被更改,包括 47 次插入40 次删除
  1. +13
    -11
      src/pages/Organization/DetailPage/OrganizationCard.js
  2. +2
    -2
      src/pages/User/ChangePasswordPage/index.js
  3. +1
    -1
      src/pages/authentication/ForgotPassword/AuthCallback/index.js
  4. +1
    -1
      src/pages/authentication/ForgotUsername/AuthCallback/index.js
  5. +2
    -2
      src/pages/authentication/auth-forms/AuthLoginCustom.js
  6. +10
    -7
      src/pages/authentication/auth-forms/BusCustomFormWizard.js
  7. +10
    -7
      src/pages/authentication/auth-forms/CustomFormWizard.js
  8. +3
    -4
      src/pages/authentication/auth-forms/IAmSmartFormWizard.js
  9. +1
    -1
      src/translations/en.json
  10. +4
    -4
      src/translations/zh-CN.json

+ 13
- 11
src/pages/Organization/DetailPage/OrganizationCard.js 查看文件

@@ -336,17 +336,19 @@ const OrganizationCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
</Button>
</ThemeProvider>
</Grid>
<Grid item sx={{ ml: 3, mr: 3 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="primary"
onClick={() => sendDn_Overdue(true)}
>
Generate O&#47;S DN List
</Button>
</ThemeProvider>
</Grid>
{ isGrantedAny("MAINTAIN_DEMANDNOTE")?
<Grid item sx={{ ml: 3, mr: 3 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="primary"
onClick={() => sendDn_Overdue(true)}
>
Generate O&#47;S DN List
</Button>
</ThemeProvider>
</Grid> : null
}
</>
}
</>


+ 2
- 2
src/pages/User/ChangePasswordPage/index.js 查看文件

@@ -136,14 +136,14 @@ const Index = () => {
.matches(/^(?=.*[a-z])/, { message: intl.formatMessage({id: 'atLeastOneSmallLetter'})})
.matches(/^(?=.*[A-Z])/, { message: intl.formatMessage({id: 'atLeastOneCapLetter'})})
.matches(/^(?=.*[0-9])/, { message: intl.formatMessage({id: 'atLeast1Number'})})
.matches(/^(?=.*[!@#%&])/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
.matches(/^(?=.*\W)/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
newPassword: yup.string().min(8, intl.formatMessage({id: 'atLeast8CharPassword'}))
.required(intl.formatMessage({id: 'requirePassword'}))
.matches(/^\S*$/, { message: (intl.formatMessage({id: 'noSpacePassword'}))})
.matches(/^(?=.*[a-z])/, { message: intl.formatMessage({id: 'atLeastOneSmallLetter'})})
.matches(/^(?=.*[A-Z])/, { message: intl.formatMessage({id: 'atLeastOneCapLetter'})})
.matches(/^(?=.*[0-9])/, { message: intl.formatMessage({id: 'atLeast1Number'})})
.matches(/^(?=.*[!@#%&])/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
.matches(/^(?=.*\W)/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
confirmPassword: yup.string().min(8, intl.formatMessage({id: 'atLeast8CharPassword'}))
.required(intl.formatMessage({id: 'pleaseConfirmPassword'}))
.oneOf([yup.ref('newPassword'), null], intl.formatMessage({id: 'samePassword'})),


+ 1
- 1
src/pages/authentication/ForgotPassword/AuthCallback/index.js 查看文件

@@ -175,7 +175,7 @@ const Index = () => {
.matches(/^(?=.*[a-z])/, { message: intl.formatMessage({id: 'atLeastOneSmallLetter'})})
.matches(/^(?=.*[A-Z])/, { message: intl.formatMessage({id: 'atLeastOneCapLetter'})})
.matches(/^(?=.*[0-9])/, { message: intl.formatMessage({id: 'atLeast1Number'})})
.matches(/^(?=.*[!@#%&])/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
.matches(/^(?=.*\W)/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
confirmPassword: yup.string().min(8, intl.formatMessage({id: 'atLeast8CharPassword'}))
.required(intl.formatMessage({id: 'pleaseConfirmPassword'}))
.oneOf([yup.ref('password'), null], intl.formatMessage({id: 'samePassword'})),


+ 1
- 1
src/pages/authentication/ForgotUsername/AuthCallback/index.js 查看文件

@@ -181,7 +181,7 @@ const Index = () => {
.matches(/^(?=.*[a-z])/, { message: intl.formatMessage({id: 'atLeastOneSmallLetter'})})
.matches(/^(?=.*[A-Z])/, { message: intl.formatMessage({id: 'atLeastOneCapLetter'})})
.matches(/^(?=.*[0-9])/, { message: intl.formatMessage({id: 'atLeast1Number'})})
.matches(/^(?=.*[!@#%&])/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
.matches(/^(?=.*\W)/, { message: intl.formatMessage({id: 'atLeast1SpecialChar'})}),
confirmPassword: yup.string().min(8, intl.formatMessage({id: 'atLeast8CharPassword'}))
.max(60, getMaxErrStr(60))
.required(intl.formatMessage({id: 'pleaseConfirmPassword'}))


+ 2
- 2
src/pages/authentication/auth-forms/AuthLoginCustom.js 查看文件

@@ -151,7 +151,7 @@ const AuthLoginCustom = () => {
.matches(/^(?=.*[a-z])/, intl.formatMessage({ id: 'atLeastOneSmallLetter' }))
.matches(/^(?=.*[A-Z])/, intl.formatMessage({ id: 'atLeastOneCapLetter' }))
.matches(/^(?=.*[0-9])/, intl.formatMessage({ id: 'atLeast1Number' }))
.matches(/^(?=.*[!@#%&])/, intl.formatMessage({ id: 'atLeast1SpecialChar' })),
.matches(/^(?=.*\W)/, intl.formatMessage({ id: 'atLeast1SpecialChar' })),
}),
});

@@ -177,7 +177,7 @@ const AuthLoginCustom = () => {
var lowerCase = /[a-z]/g;
var upperCase = /[A-Z]/g;
var numbers = /[0-9]/g;
var symbol = /^(?=.*[!@#%&])/;
var symbol = /^(?=.*\W)/;
if (!new_pass.match(lowerCase)) {
return false;
} else if (!new_pass.match(upperCase)) {


+ 10
- 7
src/pages/authentication/auth-forms/BusCustomFormWizard.js 查看文件

@@ -434,7 +434,7 @@ const BusCustomFormWizard = (props) => {
}

function handleUserName(username) {
var symbol = /^(?=.*[!@#%&])/;
var symbol = /^(?=.*\W)/;
var space = /\s/;
if (username.length < 6) {
return false;
@@ -461,7 +461,7 @@ const BusCustomFormWizard = (props) => {
var lowerCase = /[a-z]/g;
var upperCase = /[A-Z]/g;
var numbers = /[0-9]/g;
var symbol = /^(?=.*[!@#%&])/;
var symbol = /^(?=.*\W)/;
var space = /\s/;
if (!new_pass.match(lowerCase)) {
return false;
@@ -527,7 +527,7 @@ const BusCustomFormWizard = (props) => {
.matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneSmallLetter'})) })
.matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneCapLetter'})) })
.matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1Number'})) })
.matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1SpecialChar'})) }),
.matches(/^(?=.*\W)/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1SpecialChar'})) }),
confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({id: 'samePassword'}))),
enName: yup.string().max(40,getMaxErrStr(40)).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
enCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg('No special characters $/^/*/(/)') }).when('chCompanyName', {
@@ -743,6 +743,9 @@ const BusCustomFormWizard = (props) => {
value={formik.values.confirmPassword.trim()}
name="confirmPassword"
onBlur={formik.handleBlur}
onCut={handleCCPChange}
onCopy={handleCCPChange}
onPaste={handleCCPChange}
onChange={(e) => {
formik.handleChange(e);
// changePassword(e.target.value);
@@ -1004,7 +1007,7 @@ const BusCustomFormWizard = (props) => {
value={selectedAddress4}
options={address4ComboList}
disabled={checkCountry}
error={Boolean(districtErrStr!="")}
// error={Boolean(districtErrStr!="")}
onBlur={formik.handleBlur}
getOptionLabel={(option) => option.type? intl.formatMessage({ id: option.type }) : ""}
onChange={(event, newValue) => {
@@ -1013,7 +1016,7 @@ const BusCustomFormWizard = (props) => {
sx={{ "& .MuiInputBase-root": { height: "41px" },
"#address4-combo": { padding: "0px 0px 0px 3px" },
"& .MuiAutocomplete-endAdornment": { top: "auto" }, }}
renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({id: 'region'})}
renderInput={(params) => <TextField error={Boolean(districtErrStr != "")} {...params} placeholder={intl.formatMessage({id: 'region'})}
/>}
/>
<Autocomplete
@@ -1055,11 +1058,11 @@ const BusCustomFormWizard = (props) => {
{formik.errors.address3}
</FormHelperText>
)}
{/* {districtErrStr!= "" && (
{districtErrStr!= "" && (
<FormHelperText error >
{districtErrStr}
</FormHelperText>
)} */}
)}
</Stack>
</Grid>
<Grid item xs={12} mt={1} mb={1}>


+ 10
- 7
src/pages/authentication/auth-forms/CustomFormWizard.js 查看文件

@@ -434,7 +434,7 @@ const CustomFormWizard = (props) => {
}

function handleUsername(username) {
var symbol = /^(?=.*[!@#%&])/;
var symbol = /^(?=.*\W)/;
var space = /\s/;
if (username.length < 6) {
return false;
@@ -538,7 +538,7 @@ const CustomFormWizard = (props) => {
var lowerCase = /[a-z]/g;
var upperCase = /[A-Z]/g;
var numbers = /[0-9]/g;
var symbol = /^(?=.*[!@#%&])/;
var symbol = /^(?=.*\W)/;
var space = /\s/;
if (!new_pass.match(lowerCase)) {
return false;
@@ -610,7 +610,7 @@ const CustomFormWizard = (props) => {
.matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeastOneSmallLetter' })) })
.matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeastOneCapLetter' })) })
.matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1Number' })) })
.matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1SpecialChar' })) }),
.matches(/^(?=.*\W)/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1SpecialChar' })) }),
confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'atLeast8CharPassword' }))).required(displayErrorMsg(intl.formatMessage({ id: 'pleaseConfirmPassword' }))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({ id: 'samePassword' }))),
chName: yup.string().max(6, getMaxErrStr(6)),
enName: yup.string().max(40, getMaxErrStr(40)).when('chName', {
@@ -866,6 +866,9 @@ const CustomFormWizard = (props) => {
value={formik.values.confirmPassword.trim()}
name="confirmPassword"
onBlur={formik.handleBlur}
onCut={handleCCPChange}
onCopy={handleCCPChange}
onPaste={handleCCPChange}
onChange={(e) => {
formik.handleChange(e);
// changePassword(e.target.value);
@@ -1245,7 +1248,7 @@ const CustomFormWizard = (props) => {
value={selectedAddress4}
options={ComboData.district}
disabled={checkCountry}
error={Boolean(districtErrStr != "")}
// error={Boolean(districtErrStr != "")}
onBlur={formik.handleBlur}
getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""}
onChange={(event, newValue) => {
@@ -1256,7 +1259,7 @@ const CustomFormWizard = (props) => {
"#address4-combo": { padding: "0px 0px 0px 3px" },
"& .MuiAutocomplete-endAdornment": { top: "auto" },
}}
renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({ id: 'region' })}
renderInput={(params) => <TextField error={Boolean(districtErrStr != "")} {...params} placeholder={intl.formatMessage({ id: 'region' })}
/>}
/>
<Autocomplete
@@ -1298,11 +1301,11 @@ const CustomFormWizard = (props) => {
{formik.errors.address3}
</FormHelperText>
)}
{/* {districtErrStr != "" && (
{districtErrStr != "" && (
<FormHelperText error >
{districtErrStr}
</FormHelperText>
)} */}
)}
</Stack>
</Grid>
<Grid item xs={12} mt={1} mb={1}>


+ 3
- 4
src/pages/authentication/auth-forms/IAmSmartFormWizard.js 查看文件

@@ -583,14 +583,14 @@ const CustomFormWizard = (props) => {
value={selectedAddress4}
options={address4ComboList}
disabled={checkCountry}
error={Boolean(districtErrStr != "")}
// error={Boolean(districtErrStr != "")}
onBlur={formik.handleBlur}
getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""}
onChange={(event, newValue) => {
setSelectedAddress4(newValue);
}}
sx={{ "& .MuiInputBase-root": { height: "41px" }, "#address4-combo": { padding: "0px 0px 0px 0px" }, "& .MuiAutocomplete-endAdornment": { top: "auto" }, }}
renderInput={(params) => <TextField {...params} placeholder={intl.formatMessage({ id: 'region' })}
renderInput={(params) => <TextField error={Boolean(districtErrStr != "")} {...params} placeholder={intl.formatMessage({ id: 'region' })}
/>}
/>
<Autocomplete
@@ -632,12 +632,11 @@ const CustomFormWizard = (props) => {
{formik.errors.address3}
</FormHelperText>
)}
{/*
{districtErrStr != "" && (
<FormHelperText error >
{districtErrStr}
</FormHelperText>
)} */}
)}
</Stack>
</Grid>
<Grid item xs={12} mt={1} mb={1}>


+ 1
- 1
src/translations/en.json 查看文件

@@ -351,7 +351,7 @@
"cancelled": "Cancelled",
"withdrawn": "Withdrawn",
"searchApplyRecord": "Search application records",
"applicationId": "Application ID",
"applicationId": "Application No",
"submitDate": "Submit Date",
"submitDateFrom": "Submit Date (From)",
"submitDateTo": "Submit Date (To)",


+ 4
- 4
src/translations/zh-CN.json 查看文件

@@ -408,7 +408,7 @@
"payReceipt": "付款收据",
"contactPerson": "联络人",
"requireContactPerson": "请输入联络人",
"requireCareOf": "请输入客戶備註",
"requireCareOf": "请输入客户备注",
"search": "搜寻",
"searchForm": "搜寻表格",
"cancel": "取消",
@@ -436,9 +436,9 @@
"applyStatus": "申请状态",
"gazetteCount": "宪报期数",
"gazetteCount2" :"宪报期数/ 其他备注",
"gazetteCount2_1" :"客戶備註/ 其他备注",
"gazetteCount3" :"宪报期数/ 客戶備註/ 其他备注",
"careOf":"客戶備註",
"gazetteCount2_1" :"客户备注/ 其他备注",
"gazetteCount3" :"宪报期数/ 客户备注/ 其他备注",
"careOf":"客户备注",
"careOfWarning":"您已选择了不同的客户备注申请。您要付款吗?",
"warning":"警告",
"publishDate": "发布日期",


正在加载...
取消
保存