aboutsummaryrefslogtreecommitdiff
path: root/packages/aml-backoffice-ui/src/forms/902_1e.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/aml-backoffice-ui/src/forms/902_1e.ts')
-rw-r--r--packages/aml-backoffice-ui/src/forms/902_1e.ts177
1 files changed, 88 insertions, 89 deletions
diff --git a/packages/aml-backoffice-ui/src/forms/902_1e.ts b/packages/aml-backoffice-ui/src/forms/902_1e.ts
index f146cde63..2db6f1b7e 100644
--- a/packages/aml-backoffice-ui/src/forms/902_1e.ts
+++ b/packages/aml-backoffice-ui/src/forms/902_1e.ts
@@ -1,29 +1,28 @@
-import { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
-import { FlexibleForm, FormState } from "@gnu-taler/web-util/browser";
-import { BaseForm } from "../pages/AntiMoneyLaunderingForm.js";
-import { languageList } from "./index.js";
+import type { AbsoluteTime, TranslatedString } from "@gnu-taler/taler-util";
+import type { FlexibleForm, FormState, InternationalizationAPI } from "@gnu-taler/web-util/browser";
+import { BaseForm } from "./index.js";
import { resolutionSection } from "./simplest.js";
-export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
+export const v1 = (i18n: InternationalizationAPI) => (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
design: [
{
- title: "Information on customer" as TranslatedString,
+ title: i18n.str`Information on customer`,
description:
- "The customer is the person with whom the member concludes the contract with regard to the financial service provided (civil law). Does the member act as director of a domiciliary company, this domiciliary company is the customer." as TranslatedString,
+ i18n.str`The customer is the person with whom the member concludes the contract with regard to the financial service provided (civil law). Does the member act as director of a domiciliary company, this domiciliary company is the customer.`,
fields: [
{
type: "choiceStacked",
props: {
name: "customerType",
- label: "Type of customer" as TranslatedString,
+ label: i18n.str`Type of customer`,
required: true,
choices: [
{
- label: "Natural person" as TranslatedString,
+ label: i18n.str`Natural person`,
value: "natural",
},
{
- label: "Legal entity" as TranslatedString,
+ label: i18n.str`Legal entity`,
value: "legal",
},
],
@@ -33,7 +32,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "naturalCustomer.fullName",
- label: "Full name" as TranslatedString,
+ label: i18n.str`Full name`,
required: true,
},
},
@@ -41,7 +40,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "naturalCustomer.address",
- label: "Residential address" as TranslatedString,
+ label: i18n.str`Residential address`,
required: true,
},
},
@@ -49,30 +48,30 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "integer",
props: {
name: "naturalCustomer.telephone",
- label: "Telephone" as TranslatedString,
+ label: i18n.str`Telephone`,
},
},
{
type: "text",
props: {
name: "naturalCustomer.email",
- label: "E-mail" as TranslatedString,
+ label: i18n.str`E-mail`,
},
},
{
type: "absoluteTime",
props: {
name: "naturalCustomer.dateOfBirth",
- label: "Date of birth" as TranslatedString,
+ label: i18n.str`Date of birth`,
required: true,
- // help: "format 'dd/MM/yyyy'" as TranslatedString,
+ // help: i18n.str`format 'dd/MM/yyyy'`,
},
},
{
type: "text",
props: {
name: "naturalCustomer.nationality",
- label: "Nationality" as TranslatedString,
+ label: i18n.str`Nationality`,
required: true,
},
},
@@ -80,7 +79,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "naturalCustomer.document",
- label: "Identification document" as TranslatedString,
+ label: i18n.str`Identification document`,
required: true,
},
},
@@ -88,50 +87,50 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "file",
props: {
name: "naturalCustomer.documentAttachment",
- label: "Document attachment" as TranslatedString,
+ label: i18n.str`Document attachment`,
required: true,
maxBites: 2 * 1024 * 1024,
accept: ".png",
- help: "Max size of 2 mega bytes" as TranslatedString,
+ help: i18n.str`Max size of 2 mega bytes`,
},
},
{
type: "text",
props: {
name: "naturalCustomer.companyName",
- label: "Company name" as TranslatedString,
+ label: i18n.str`Company name`,
},
},
{
type: "text",
props: {
name: "naturalCustomer.office",
- label: "Registered office" as TranslatedString,
+ label: i18n.str`Registered office`,
},
},
{
type: "text",
props: {
name: "naturalCustomer.companyDocument",
- label: "Company identification document" as TranslatedString,
+ label: i18n.str`Company identification document`,
},
},
{
type: "file",
props: {
name: "naturalCustomer.companyDocumentAttachment",
- label: "Document attachment" as TranslatedString,
+ label: i18n.str`Document attachment`,
required: true,
maxBites: 2 * 1024 * 1024,
accept: ".png",
- help: "Max size of 2 mega bytes" as TranslatedString,
+ help: i18n.str`Max size of 2 mega bytes`,
},
},
{
type: "text",
props: {
name: "legalCustomer.companyName",
- label: "Company name" as TranslatedString,
+ label: i18n.str`Company name`,
required: true,
},
},
@@ -139,7 +138,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "legalCustomer.domicile",
- label: "Domicile" as TranslatedString,
+ label: i18n.str`Domicile`,
required: true,
},
},
@@ -147,63 +146,63 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "legalCustomer.contactPerson",
- label: "Contact person" as TranslatedString,
+ label: i18n.str`Contact person`,
},
},
{
type: "text",
props: {
name: "legalCustomer.telephone",
- label: "Telephone" as TranslatedString,
+ label: i18n.str`Telephone`,
},
},
{
type: "text",
props: {
name: "legalCustomer.email",
- label: "E-mail" as TranslatedString,
+ label: i18n.str`E-mail`,
},
},
{
type: "text",
props: {
name: "legalCustomer.document",
- label: "Identification document" as TranslatedString,
- help: "Not older than 12 month" as TranslatedString,
+ label: i18n.str`Identification document`,
+ help: i18n.str`Not older than 12 month`,
},
},
{
type: "file",
props: {
name: "legalCustomer.documentAttachment",
- label: "Document attachment" as TranslatedString,
+ label: i18n.str`Document attachment`,
required: true,
maxBites: 2 * 1024 * 1024,
accept: ".png",
- help: "Max size of 2 mega bytes" as TranslatedString,
+ help: i18n.str`Max size of 2 mega bytes`,
},
},
],
},
{
title:
- "Information on the natural persons who establish the business relationship for legal entities and partnerships" as TranslatedString,
+ i18n.str`Information on the natural persons who establish the business relationship for legal entities and partnerships`,
description:
- "For legal entities and partnerships the identity of the natural persons who establish the business relationship must be verified." as TranslatedString,
+ i18n.str`For legal entities and partnerships the identity of the natural persons who establish the business relationship must be verified.`,
fields: [
{
type: "array",
props: {
name: "businessEstablisher",
- label: "Persons" as TranslatedString,
+ label: i18n.str`Persons`,
required: true,
- placeholder: "this is the placeholder" as TranslatedString,
+ placeholder: i18n.str`this is the placeholder`,
fields: [
{
type: "text",
props: {
name: "fullName",
- label: "Full name" as TranslatedString,
+ label: i18n.str`Full name`,
required: true,
},
},
@@ -211,7 +210,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "address",
- label: "Residential address" as TranslatedString,
+ label: i18n.str`Residential address`,
required: true,
},
},
@@ -219,16 +218,16 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "absoluteTime",
props: {
name: "dateOfBirth",
- label: "Date of birth" as TranslatedString,
+ label: i18n.str`Date of birth`,
required: true,
- // help: "format 'dd/MM/yyyy'" as TranslatedString,
+ // help: i18n.str`format 'dd/MM/yyyy'`,
},
},
{
type: "text",
props: {
name: "nationality",
- label: "Nationality" as TranslatedString,
+ label: i18n.str`Nationality`,
required: true,
},
},
@@ -237,7 +236,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
props: {
name: "typeOfAuthorization",
label:
- "Type of authorization (signatory of representation)" as TranslatedString,
+ i18n.str`Type of authorization (signatory of representation)`,
required: true,
},
},
@@ -246,30 +245,30 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
props: {
name: "documentAttachment",
label:
- "Identification document attachment" as TranslatedString,
+ i18n.str`Identification document attachment`,
required: true,
maxBites: 2 * 1024 * 1024,
accept: ".png",
- help: "Max size of 2 mega bytes" as TranslatedString,
+ help: i18n.str`Max size of 2 mega bytes`,
},
},
{
type: "choiceStacked",
props: {
name: "powerOfAttorneyArrangements",
- label: "Power of attorney arrangements" as TranslatedString,
+ label: i18n.str`Power of attorney arrangements`,
required: true,
choices: [
{
- label: "CR extract" as TranslatedString,
+ label: i18n.str`CR extract`,
value: "cr",
},
{
- label: "Mandate" as TranslatedString,
+ label: i18n.str`Mandate`,
value: "mandate",
},
{
- label: "Other" as TranslatedString,
+ label: i18n.str`Other`,
value: "other",
},
],
@@ -279,7 +278,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "powerOfAttorneyArrangementsOther",
- label: "Power of attorney arrangements" as TranslatedString,
+ label: i18n.str`Power of attorney arrangements`,
required: true,
},
},
@@ -290,36 +289,36 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
],
},
{
- title: "Acceptance of business relationship" as TranslatedString,
+ title: i18n.str`Acceptance of business relationship`,
fields: [
{
type: "absoluteTime",
props: {
name: "acceptance.when",
pattern: "dd/MM/yyyy",
- label: "Date (conclusion of contract)" as TranslatedString,
- // help: "format 'dd/MM/yyyy'" as TranslatedString,
+ label: i18n.str`Date (conclusion of contract)`,
+ // help: i18n.str`format 'dd/MM/yyyy'`,
},
},
{
type: "choiceStacked",
props: {
name: "acceptance.acceptedBy",
- label: "Accepted by" as TranslatedString,
+ label: i18n.str`Accepted by`,
required: true,
choices: [
{
- label: "Face-to-face meeting with customer" as TranslatedString,
+ label: i18n.str`Face-to-face meeting with customer`,
value: "face-to-face",
},
{
label:
- "Correspondence: authenticated copy of identification document obtained" as TranslatedString,
+ i18n.str`Correspondence: authenticated copy of identification document obtained`,
value: "correspondence-document",
},
{
label:
- "Correspondence: residential address validated" as TranslatedString,
+ i18n.str`Correspondence: residential address validated`,
value: "correspondence-address",
},
],
@@ -329,22 +328,22 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "choiceStacked",
props: {
name: "acceptance.typeOfCorrespondence",
- label: "Type of correspondence service" as TranslatedString,
+ label: i18n.str`Type of correspondence service`,
choices: [
{
- label: "to the customer" as TranslatedString,
+ label: i18n.str`to the customer`,
value: "customer",
},
{
- label: "hold at bank" as TranslatedString,
+ label: i18n.str`hold at bank`,
value: "bank",
},
{
- label: "to the member" as TranslatedString,
+ label: i18n.str`to the member`,
value: "member",
},
{
- label: "to a third party" as TranslatedString,
+ label: i18n.str`to a third party`,
value: "third-party",
},
],
@@ -354,7 +353,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "acceptance.thirdPartyFullName",
- label: "Third party full name" as TranslatedString,
+ label: i18n.str`Third party full name`,
required: true,
},
},
@@ -362,7 +361,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "text",
props: {
name: "acceptance.thirdPartyAddress",
- label: "Third party address" as TranslatedString,
+ label: i18n.str`Third party address`,
required: true,
},
},
@@ -370,8 +369,8 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "selectMultiple",
props: {
name: "acceptance.language",
- label: "Languages" as TranslatedString,
- choices: languageList,
+ label: i18n.str`Languages`,
+ choices: window.amlExchangeBackoffice!.currencies(i18n),
unique: true,
},
},
@@ -379,46 +378,46 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
type: "textArea",
props: {
name: "acceptance.furtherInformation",
- label: "Further information" as TranslatedString,
+ label: i18n.str`Further information`,
},
},
],
},
{
title:
- "Information on the beneficial owner of the assets and/or controlling person" as TranslatedString,
+ i18n.str`Information on the beneficial owner of the assets and/or controlling person`,
description:
- "Establishment of the beneficial owner of the assets and/or controlling person" as TranslatedString,
+ i18n.str`Establishment of the beneficial owner of the assets and/or controlling person`,
fields: [
{
type: "choiceStacked",
props: {
name: "establishment",
- label: "The customer is" as TranslatedString,
+ label: i18n.str`The customer is`,
required: true,
choices: [
{
label:
- "a natural person and there are no doubts that this person is the sole beneficial owner of the assets" as TranslatedString,
+ i18n.str`a natural person and there are no doubts that this person is the sole beneficial owner of the assets`,
value: "natural",
},
{
label:
- "a foundation (or a similar construct; incl. underlying companies)" as TranslatedString,
+ i18n.str`a foundation (or a similar construct; incl. underlying companies)`,
value: "foundation",
},
{
label:
- "a trust (incl. underlying companies)" as TranslatedString,
+ i18n.str`a trust (incl. underlying companies)`,
value: "trust",
},
{
label:
- "a life insurance policy with separately managed accounts/securities accounts" as TranslatedString,
+ i18n.str`a life insurance policy with separately managed accounts/securities accounts`,
value: "insurance-wrapper",
},
{
- label: "all other cases" as TranslatedString,
+ label: i18n.str`all other cases`,
value: "other",
},
],
@@ -428,43 +427,43 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
},
{
title:
- "Evaluation with regard to embargo procedures/terrorism lists on establishing the business relationship" as TranslatedString,
+ i18n.str`Evaluation with regard to embargo procedures/terrorism lists on establishing the business relationship`,
description:
- "Verification whether the customer, beneficial owners of the assets, controlling persons, authorized representatives or other involved persons are listed on an embargo/terrorism list (date of verification/result)" as TranslatedString,
+ i18n.str`Verification whether the customer, beneficial owners of the assets, controlling persons, authorized representatives or other involved persons are listed on an embargo/terrorism list (date of verification/result)`,
fields: [
{
type: "textArea",
props: {
name: "embargoEvaluation",
- help: "The evaluation must be made at the beginning of the business relationship and has to be repeated in the case of permanent business relationship every time the according lists are updated." as TranslatedString,
- label: "Evaluation" as TranslatedString,
+ help: i18n.str`The evaluation must be made at the beginning of the business relationship and has to be repeated in the case of permanent business relationship every time the according lists are updated.`,
+ label: i18n.str`Evaluation`,
},
},
],
},
{
title:
- "In the case of cash transactions/occasional customers: Information on type and purpose of business relationship" as TranslatedString,
+ i18n.str`In the case of cash transactions/occasional customers: Information on type and purpose of business relationship`,
description:
- "These details are only necessary for occasional customers, i.e. money exchange, money and asset transfer or other cash transactions provided that no customer profile (VQF doc. No. 902.5) is created" as TranslatedString,
+ i18n.str`These details are only necessary for occasional customers, i.e. money exchange, money and asset transfer or other cash transactions provided that no customer profile (VQF doc. No. 902.5) is created`,
fields: [
{
type: "choiceStacked",
props: {
name: "cashTransactions.typeOfBusiness",
- label: "Type of business relationship" as TranslatedString,
+ label: i18n.str`Type of business relationship`,
choices: [
{
- label: "Money exchange" as TranslatedString,
+ label: i18n.str`Money exchange`,
value: "money-exchange",
},
{
- label: "Money and asset transfer" as TranslatedString,
+ label: i18n.str`Money and asset transfer`,
value: "money-and-asset-transfer",
},
{
label:
- "Other cash transactions. Specify below" as TranslatedString,
+ i18n.str`Other cash transactions. Specify below`,
value: "other",
},
],
@@ -475,7 +474,7 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
props: {
name: "cashTransactions.otherTypeOfBusiness",
required: true,
- label: "Specify other cash transactions:" as TranslatedString,
+ label: i18n.str`Specify other cash transactions:`,
},
},
{
@@ -483,12 +482,12 @@ export const v1 = (current: BaseForm): FlexibleForm<Form902_1.Form> => ({
props: {
name: "cashTransactions.purpose",
label:
- "Purpose of the business relationship (purpose of service requested)" as TranslatedString,
+ i18n.str`Purpose of the business relationship (purpose of service requested)`,
},
},
],
},
- resolutionSection(current),
+ resolutionSection(current, i18n),
],
behavior: function formBehavior(
v: Partial<Form902_1.Form>,