From 1fbc65549325fea909aeb2adfee477270af35af7 Mon Sep 17 00:00:00 2001 From: "m.usman" Date: Thu, 10 Oct 2024 18:33:21 +0200 Subject: [PATCH] new: introduced new field of customer contact in service --- src/assets/locales/de/main.json | 3 ++- src/assets/locales/de/servicerelease.json | 11 ++++++++--- src/assets/locales/en/main.json | 1 + src/assets/locales/en/servicerelease.json | 9 +++++++-- .../components/ServiceDetails.tsx | 11 ++++++++++- .../basic/ReleaseProcess/OfferPage/index.tsx | 18 ++++++++++++++++++ .../OfferValidateAndPublish/index.tsx | 3 ++- src/types/Patterns.test.ts | 13 +++++++++++++ src/types/Patterns.ts | 2 ++ 9 files changed, 63 insertions(+), 8 deletions(-) diff --git a/src/assets/locales/de/main.json b/src/assets/locales/de/main.json index 9517608c6..c9e1b8c6e 100644 --- a/src/assets/locales/de/main.json +++ b/src/assets/locales/de/main.json @@ -1291,6 +1291,7 @@ "providerPhoneContact": "Provider Phone Contact", "pleaseEnterValidHomePageURL": "Please enter a valid url - eg: https://catena-x.net", "pleaseEnterValidEmail": "Please enter a valid Customer Contact E-Mail", + "pleaseEnterValidPhone": "Please enter a valid Customer Contact Number", "pleaseEnterValidContact": "Bitte fügen Sie eine gültige Telefonnummer im folgenden Format hinzu: „+ xx xxxx xxxxxx“, „+ xxx xxxx-xxxx“, „+xx xxxxxxxxxx“. Hinweis: Es sind weitere Formate zulässig. Die genannten Formate sind die am häufigsten verwendeten Formate.", "privacyInformation": "Privacy Information", "privacyInformationDescription": "The privacy information is used to display data types the app may collect on the app detail page. You may select several options OR select “none”.", @@ -1661,7 +1662,7 @@ "appProvider": "App Provider", "website": "Website", "email": "Email", - "phone": "Phone" + "phone": "Telefon" } }, "checklistOverlay": { diff --git a/src/assets/locales/de/servicerelease.json b/src/assets/locales/de/servicerelease.json index 463e9f045..51b4f1934 100644 --- a/src/assets/locales/de/servicerelease.json +++ b/src/assets/locales/de/servicerelease.json @@ -49,9 +49,11 @@ "note": "Info:", "providerDetails": "Provider Details", "providerHomePage": "Provider Homepage", - "providerContactEmail": "Customer Contact E-Mail", + "providerContactEmail": "Kundenkontakt E-Mail", + "providerContactPhone": "Kundenkontakt Telefon", "pleaseEnterValidHomePageURL": "Bitte geben Sie eine gültige URL ein - eg: https://catena-x.net", - "pleaseEnterValidEmail": "Bitte geben Sie eine gültige Email an" + "pleaseEnterValidEmail": "Bitte geben Sie eine gültige Email an", + "pleaseEnterValidPhone": "Bitte geben Sie eine gültige Kundenkontakt Telefonnummer ein" }, "step3": { "headerTitle": "Agreements and Consent", @@ -76,7 +78,10 @@ "longDescriptionTitleEN": "[Long Description - EN] ", "longDescriptionTitleDE": "[Long Description - DE] ", "conformityDocument": "Conformity Document", - "conformityDocumentsDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." + "conformityDocumentsDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "website": "Webseite", + "email": "E-Mail", + "phone": "Telefon" }, "serviceReleaseForm": { "headerTitle": "Create Service", diff --git a/src/assets/locales/en/main.json b/src/assets/locales/en/main.json index 06080b3b2..5a553b7c2 100644 --- a/src/assets/locales/en/main.json +++ b/src/assets/locales/en/main.json @@ -1259,6 +1259,7 @@ "providerPhoneContact": "Contac (Phone Number)", "pleaseEnterValidHomePageURL": "Please enter a valid url - eg: https://catena-x.net", "pleaseEnterValidEmail": "Please enter a valid Customer Contact E-Mail", + "pleaseEnterValidPhone": "Please enter a valid Customer Contact Number", "pleaseEnterValidContact": "Please add a valid phone number and in the following format: “+ xx xxxx xxxxxx”, “+ xxx xxxx-xxxx”, “+xx xxxxxxxxxx”. Note: more formats are allowed, mentioned formats are the most used formats.", "privacyInformation": "Privacy Information", "privacyInformationDescription": "The privacy information is used to display data types the app may collect on the app detail page. You may select several options OR select “none”.", diff --git a/src/assets/locales/en/servicerelease.json b/src/assets/locales/en/servicerelease.json index 2ff796b0b..860964c8a 100644 --- a/src/assets/locales/en/servicerelease.json +++ b/src/assets/locales/en/servicerelease.json @@ -50,8 +50,10 @@ "providerDetails": "Provider Details", "providerHomePage": "Provider Homepage", "providerContactEmail": "Customer Contact E-Mail", + "providerContactPhone": "Customer Contact Phone", "pleaseEnterValidHomePageURL": "Please enter a valid url - eg: https://catena-x.net", - "pleaseEnterValidEmail": "Please enter a valid Customer Contact E-Mail" + "pleaseEnterValidEmail": "Please enter a valid Customer Contact E-Mail", + "pleaseEnterValidPhone": "Please enter a valid Customer Contact Phonenumber" }, "step3": { "headerTitle": "Agreements and Consent", @@ -76,7 +78,10 @@ "longDescriptionTitleEN": "[Long Description - EN] ", "longDescriptionTitleDE": "[Long Description - DE] ", "conformityDocument": "Conformity Document", - "conformityDocumentsDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." + "conformityDocumentsDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "website": "Provider HomePage", + "email": "E-Mail", + "phone": "Phone" }, "serviceReleaseForm": { "headerTitle": "Create service", diff --git a/src/components/pages/ServiceReleaseProcess/components/ServiceDetails.tsx b/src/components/pages/ServiceReleaseProcess/components/ServiceDetails.tsx index 340c429ee..1f45b4c3a 100644 --- a/src/components/pages/ServiceReleaseProcess/components/ServiceDetails.tsx +++ b/src/components/pages/ServiceReleaseProcess/components/ServiceDetails.tsx @@ -261,12 +261,21 @@ export default function ServiceDetails() { {t('step4.providerInformation')} + + {/* "website": "Webseite", + "email": "E-Mail", + "phone": "Telefon" */} + +
+ +
{ expect(isClientID(expr)).toBe(false) }) }) + it('validate phone number', () => { + TESTDATA.PHONE.valid.forEach((expr) => { + expect(isValidPhone(expr)).toBe(true) + }) + TESTDATA.CLIENTID.invalid.forEach((expr) => { + expect(isValidPhone(expr)).toBe(false) + }) + }) }) diff --git a/src/types/Patterns.ts b/src/types/Patterns.ts index 168946180..c5003fbe1 100644 --- a/src/types/Patterns.ts +++ b/src/types/Patterns.ts @@ -44,6 +44,7 @@ export const Patterns = { LABEL: /^[a-z0-9-_ ]{1,80}$/i, BPN: /^BPNL[0-9A-Z]{12}$/i, MAIL: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*))@(([a-z0-9-]+\.)+[a-z]{2,})$/, + PHONE: /^(\+|00)?(?:[0-9] ?){6,14}[0-9]$/, DOMAIN: new RegExp(`^${DOMAIN.source}$`, 'i'), PATH: new RegExp(`^${URLPATH.source}$`, 'i'), URL: urlPattern, @@ -208,5 +209,6 @@ export const isCompanyVies = (expr: string) => Patterns.companyData.VIES.test(expr) export const isPostalCode = (expr: string) => Patterns.companyData.POSTAL_CODE.test(expr) +export const isValidPhone = (expr: string) => Patterns.PHONE.test(expr) export default Patterns