gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 02/03: remove duplicated code, some ui tweaks


From: gnunet
Subject: [taler-wallet-core] 02/03: remove duplicated code, some ui tweaks
Date: Wed, 08 Jan 2025 19:37:37 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 3df4239d7c533f08e77573766bdd22197a0e6358
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Wed Jan 8 15:04:56 2025 -0300

    remove duplicated code, some ui tweaks
---
 packages/aml-backoffice-ui/src/forms/ganaForms.ts  |  240 ----
 packages/aml-backoffice-ui/src/forms/index.ts      |   13 +-
 .../src/forms/taler_aml_attributes.json            | 1292 --------------------
 .../src/forms/taler_aml_attributes.ts              | 1057 ----------------
 .../aml-backoffice-ui/src/pages/CaseDetails.tsx    |  110 +-
 .../aml-backoffice-ui/src/pages/MeasuresTable.tsx  |    2 +-
 .../src/pages/ShowConsolidated.tsx                 |    2 +-
 7 files changed, 65 insertions(+), 2651 deletions(-)

diff --git a/packages/aml-backoffice-ui/src/forms/ganaForms.ts 
b/packages/aml-backoffice-ui/src/forms/ganaForms.ts
deleted file mode 100644
index 4d43f55e7..000000000
--- a/packages/aml-backoffice-ui/src/forms/ganaForms.ts
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- This file is part of GNU Taler
- (C) 2022-2024 Taler Systems S.A.
-
- GNU Taler is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
- */
-import {
-  DoubleColumnForm,
-  InternationalizationAPI,
-  UIFormElementConfig,
-  UIHandlerId,
-} from "@gnu-taler/web-util/browser";
-
-import ganaForms from "./taler_aml_attributes.json";
-
-type GanaField = {
-  required: boolean;
-  section: string;
-  type: string;
-  order?: number;
-  enumeration: string[];
-};
-
-type GanaForm = { [fieldName: string]: GanaField | string };
-
-type FieldsBySection = {
-  [section: string]: (UIFormElementConfig & { order?: number })[];
-};
-
-export function VQF_902_1(i18n: InternationalizationAPI): DoubleColumnForm {
-  const fieldsBySections = convertGanaJsonToDoubleColumnFormSection(
-    ganaForms.VQF_902_1,
-    converGanaField,
-  );
-
-  return {
-    type: "double-column",
-    design: [
-      {
-        title: i18n.str`Header`,
-        fields: fieldsBySections["header"].map((f) => {
-          if ("disabled" in f) {
-            f.disabled = true;
-          }
-          return f;
-        }),
-      },
-      {
-        title: i18n.str`Information`,
-        description: 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: fieldsBySections["1"],
-      },
-      {
-        title: i18n.str`Information on the natural persons who establish the 
business relationship for legal entities and partnerships`,
-        description: i18n.str`For legal entities and partnerships the identity 
of the natural persons who establish the business relationship must be 
verified.`,
-        fields: fieldsBySections["2"],
-      },
-      {
-        title: i18n.str`Acceptance of business relationship`,
-        fields: fieldsBySections["3"],
-      },
-      {
-        title: i18n.str`Information on the beneficial owner of the assets 
and/or controlling person`,
-        description: i18n.str`Establishment of the beneficial owner of the 
assets and/or controlling person`,
-        fields: fieldsBySections["4"],
-      },
-      {
-        title: i18n.str`Evaluation with regard to embargo procedures/terrorism 
lists on establishing the business relationship`,
-        description: 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: fieldsBySections["5"],
-      },
-    ],
-  };
-}
-
-function isArrayType(type: string): keyof typeof ganaForms | undefined {
-  if (!type.endsWith("[]")) return undefined;
-  return type.substring(0, type.length - 2) as keyof typeof ganaForms;
-}
-
-function isFormType(type: string): keyof typeof ganaForms | undefined {
-  const start = type.indexOf("<");
-  const end = type.indexOf(">");
-
-  if (start === -1 || end === -1) return undefined;
-  return type.substring(start + 1, end) as keyof typeof ganaForms;
-}
-
-function converGanaField(
-  fieldName: string,
-  fieldInfo: GanaField,
-): UIFormElementConfig {
-  const arrayType = isArrayType(fieldInfo.type);
-  if (arrayType) {
-    const ft = isFormType(arrayType);
-    const containedType = !ft ? arrayType : ft;
-    return {
-      id: fieldName as UIHandlerId,
-      label: fieldName,
-      type: "array",
-      fields: mergeAllSections(
-        convertGanaJsonToDoubleColumnFormSection(
-          ganaForms[containedType],
-          converGanaField,
-        ),
-      ),
-      labelFieldId: "asd" as UIHandlerId,
-    };
-  }
-  const formType = isFormType(fieldInfo.type);
-  if (formType) {
-    return {
-      label: fieldName,
-      type: "group",
-      fields: mergeAllSections(
-        convertGanaJsonToDoubleColumnFormSection(
-          ganaForms[formType] as GanaForm,
-          converGanaField,
-        ),
-      ),
-    };
-  }
-
-  switch (fieldInfo.type) {
-    case "Boolean": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "toggle",
-        required: fieldInfo.required,
-        threeState: false,
-      };
-    }
-    case "File": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "file",
-        required: fieldInfo.required,
-      };
-    }
-    case "String": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "text",
-        required: fieldInfo.required,
-      };
-    }
-    case "ResidentialAddress": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName + "!!!",
-        type: "text",
-        required: fieldInfo.required,
-      };
-    }
-    case "BusinessAddress": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName + "!!!",
-        type: "text",
-        required: fieldInfo.required,
-      };
-    }
-    case "CountryCode": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "selectOne",
-        choices: [
-          { label: "AR", value: "AR" },
-          { label: "DE", value: "DE" },
-        ],
-        required: fieldInfo.required,
-      };
-    }
-    case "AbsoluteTime": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "absoluteTimeText",
-        required: fieldInfo.required,
-        pattern: "dd/MM/yyyy",
-      };
-    }
-    case "Amount": {
-      return {
-        id: fieldName as UIHandlerId,
-        label: fieldName,
-        type: "amount",
-        currency: "asd",
-        required: fieldInfo.required,
-      };
-    }
-    default: {
-      return {
-        type: "caption",
-        label: `unkown field type ${fieldInfo.type} for id ${fieldName}`,
-      };
-    }
-  }
-}
-
-function convertGanaJsonToDoubleColumnFormSection(
-  form: GanaForm,
-  convert: (name: string, info: GanaField) => UIFormElementConfig,
-): FieldsBySection {
-  const list = Object.entries(form);
-  const sections = list.reduce((prev, [key, value]) => {
-    if (typeof value === "string") {
-      return prev;
-    }
-    if (!prev[value.section]) {
-      prev[value.section] = [];
-    }
-    const d: UIFormElementConfig & { order?: number } = convert(key, value);
-    d.order = value.order;
-    prev[value.section].push(d);
-    return prev;
-  }, {} as FieldsBySection);
-
-  Object.values(sections).forEach((sec) => {
-    sec.sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
-  });
-  return sections;
-}
-
-function mergeAllSections(fields: FieldsBySection): UIFormElementConfig[] {
-  return Object.values(fields).flatMap((d) => d);
-}
diff --git a/packages/aml-backoffice-ui/src/forms/index.ts 
b/packages/aml-backoffice-ui/src/forms/index.ts
index bd17b69d3..1d2126241 100644
--- a/packages/aml-backoffice-ui/src/forms/index.ts
+++ b/packages/aml-backoffice-ui/src/forms/index.ts
@@ -18,7 +18,6 @@ import type {
   InternationalizationAPI,
 } from "@gnu-taler/web-util/browser";
 import { v1 as simplest } from "./simplest.js";
-import { VQF_902_1 } from "./ganaForms.js";
 
 const languages = (i18n: InternationalizationAPI) => [
   {
@@ -139,12 +138,12 @@ export const preloadedForms: (
     id: "__simple_comment",
     version: 1,
     config: simplest(i18n),
-  },
-  {
-    label: i18n.str`Identification form`,
-    id: "vqf-902-1",
-    version: 1,
-    config: VQF_902_1(i18n),
+    // },
+    // {
+    //   label: i18n.str`Identification form`,
+    //   id: "vqf-902-1",
+    //   version: 1,
+    //   config: VQF_902_1(i18n),
     // }, {
     //   label: i18n.str`Operational legal entity or partnership`,
     //   id: "902.11e",
diff --git a/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.json 
b/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.json
deleted file mode 100644
index b77b625db..000000000
--- a/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.json
+++ /dev/null
@@ -1,1292 +0,0 @@
-{
-  "VQF_902_1": {
-    "ACCEPTANCE_ADDITIONAL_INFO": {
-      "required": false,
-      "type": "String",
-      "order": 5,
-      "enumeration": [],
-      "section": "3"
-    },
-    "ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE": {
-      "required": false,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "3"
-    },
-    "ACCEPTANCE_DATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "order": 1,
-      "enumeration": [],
-      "section": "3"
-    },
-    "ACCEPTANCE_LANGUAGE": {
-      "required": false,
-      "type": "String",
-      "order": 4,
-      "enumeration": [],
-      "section": "3"
-    },
-    "ACCEPTANCE_METHOD": {
-      "required": false,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "3"
-    },
-    "CUSTOMER_ENTITY_ADDRESS": {
-      "required": true,
-      "type": "BusinessAddress",
-      "order": 14,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_COMPANY_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 13,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_CONTACT_PERSON_NAME": {
-      "required": false,
-      "type": "String",
-      "order": 15,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_EMAIL": {
-      "required": false,
-      "type": "String",
-      "order": 18,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_ID": {
-      "required": true,
-      "type": "String",
-      "order": 19,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_ID_COPY": {
-      "required": true,
-      "type": "File",
-      "order": 20,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ENTITY_PHONE": {
-      "required": false,
-      "type": "String",
-      "order": 17,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "CUSTOMER_NATURAL_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 5,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_COMPANY_ID": {
-      "required": false,
-      "type": "String",
-      "order": 11,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_COMPANY_ID_COPY": {
-      "required": false,
-      "type": "File",
-      "order": 12,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_COMPANY_NAME": {
-      "required": false,
-      "type": "String",
-      "order": 9,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_EMAIL": {
-      "required": false,
-      "type": "String",
-      "order": 4,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "order": 6,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_NATIONAL_ID": {
-      "required": true,
-      "type": "String",
-      "order": 7,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_NATIONAL_ID_COPY": {
-      "required": true,
-      "type": "File",
-      "order": 8,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_PHONE": {
-      "required": false,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_REGISTERED_OFFICE": {
-      "required": false,
-      "type": "String",
-      "order": 10,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_NATURAL_RESIDENTIAL": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "order": 2,
-      "enumeration": [],
-      "section": "1"
-    },
-    "CUSTOMER_TYPE": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "4"
-    },
-    "EMBARGO_TERRORISM_INFO": {
-      "required": false,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "5"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FOUNDER_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_1_founder>[]",
-      "order": 1,
-      "enumeration": [],
-      "section": "2"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "RELATIONSHIP_PURPOSE": {
-      "required": false,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "6"
-    },
-    "RELATIONSHIP_TYPE": {
-      "required": false,
-      "type": "String",
-      "order": 1,
-      "enumeration": ["MONEY_EXCHANGE","MONEY_ASSET_TRANSFER","OTHER"],
-      "section": "6"
-    },
-    "RELATIONSHIP_TYPE_OTHER": {
-      "required": false,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "6"
-    },
-"":""},
-  "VQF_902_11": {
-    "CONTROLLING_ENTITY_CONTRACTING_PARTNER": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "CONTROLLING_ENTITY_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": "3"
-    },
-    "CONTROLLING_ENTITY_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "CONTROLLING_ENTITY_LEVEL": {
-      "required": true,
-      "type": "String",
-      "enumeration": ["25_MORE_RIGHTS","OTHER_WAY","DIRECTOR"],
-      "section": "2"
-    },
-    "CONTROLLING_ENTITY_THIRD_PERSON": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "4"
-    },
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "SIGNATURE": {
-      "required": true,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "footer"
-    },
-    "SIGN_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 1,
-      "enumeration": [],
-      "section": "footer"
-    },
-"":""},
-  "VQF_902_12": {
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FOUNDATION_BENEFICIARY_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_12_beneficiary>[]",
-      "enumeration": [],
-      "section": "4"
-    },
-    "FOUNDATION_CONTRACTING_PARTNER": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "0"
-    },
-    "FOUNDATION_DISCRETIONARY": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "FOUNDATION_FOUNDER_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_12_founder>[]",
-      "enumeration": [],
-      "section": "2"
-    },
-    "FOUNDATION_KNOWN_AS": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "0"
-    },
-    "FOUNDATION_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "FOUNDATION_PRE_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_12_pre>[]",
-      "enumeration": [],
-      "section": "3"
-    },
-    "FOUNDATION_REPRESENTATIVE_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_12_representative>[]",
-      "enumeration": [],
-      "section": "5"
-    },
-    "FOUNDATION_REVOCABLE": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "SIGNATURE": {
-      "required": true,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "footer"
-    },
-    "SIGN_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 1,
-      "enumeration": [],
-      "section": "footer"
-    },
-"":""},
-  "VQF_902_12_beneficiary": {
-    "FOUNDATION_BENEFICIARY_ADDITION": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_BIRTHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_COUNTRY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_DOMICILE": {
-      "required": false,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_NATIONALITY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM": {
-      "required": false,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_12_founder": {
-    "FOUNDATION_FOUNDER_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_FOUNDER_DEATHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_FOUNDER_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_FOUNDER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_FOUNDER_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_FOUNDER_RIGHT_TO_REVOKE": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_12_pre": {
-    "FOUNDATION_PRE_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_PRE_COUNTRY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_PRE_DEATHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_PRE_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_PRE_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_PRE_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_12_representative": {
-    "FOUNDATION_REPRESENTATIVE_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_REPRESENTATIVE_COUNTRY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_REPRESENTATIVE_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_REPRESENTATIVE_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_REPRESENTATIVE_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_13": {
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "SIGNATURE": {
-      "required": true,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "footer"
-    },
-    "SIGN_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 1,
-      "enumeration": [],
-      "section": "footer"
-    },
-    "TRUST_BENEFICIARY_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_13_beneficiary>[]",
-      "enumeration": [],
-      "section": "4"
-    },
-    "TRUST_CONTRACTING_PARTNER": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "0"
-    },
-    "TRUST_DISCRETIONARY": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "TRUST_KNOWN_AS": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "0"
-    },
-    "TRUST_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "TRUST_PRE_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_13_pre>[]",
-      "enumeration": [],
-      "section": "3"
-    },
-    "TRUST_PROTECTOR_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_13_protector>[]",
-      "enumeration": [],
-      "section": "5"
-    },
-    "TRUST_REVOCABLE": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "TRUST_SETTLOR_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_13_settlor>[]",
-      "enumeration": [],
-      "section": "2"
-    },
-"":""},
-  "VQF_902_13_beneficiary": {
-    "TRUST_BENEFICIARY_ADDITION": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_BIRTHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_COUNTRY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_DOMICILE": {
-      "required": false,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_NATIONALITY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_BENEFICIARY_RIGHT_TO_CLAIM": {
-      "required": false,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_13_further": {
-    "TRUST_FURTHER_BIRTHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_FURTHER_COUNTRY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_FURTHER_DOMICILE": {
-      "required": false,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_FURTHER_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_FURTHER_LIST": {
-      "required": true,
-      "type": "Form<VQF_902_13_further>[]",
-      "enumeration": [],
-      "section": "5"
-    },
-    "TRUST_FURTHER_NATIONALITY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_FURTHER_RIGHT_TO_REVOKE": {
-      "required": false,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_13_pre": {
-    "TRUST_PRE_BIRTHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PRE_COUNTRY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PRE_DEATHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PRE_DOMICILE": {
-      "required": false,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PRE_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PRE_NATIONALITY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_13_protector": {
-    "TRUST_PROTECTOR_BIRTHDATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PROTECTOR_COUNTRY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PROTECTOR_DOMICILE": {
-      "required": false,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PROTECTOR_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PROTECTOR_NATIONALITY": {
-      "required": false,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_PROTECTOR_RIGHT_TO_REVOKE": {
-      "required": false,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_13_settlor": {
-    "TRUST_SETTLOR_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_SETTLOR_DEATHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_SETTLOR_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_SETTLOR_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_SETTLOR_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-    "TRUST_SETTLOR_RIGHT_TO_REVOKE": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_14": {
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "INCRISK_DOCUMENTS": {
-      "required": true,
-      "type": "File[]",
-      "enumeration": [],
-      "section": "3"
-    },
-    "INCRISK_MEANS": {
-      "required": true,
-      "type": "String",
-      "enumeration": ["GATHERING","CONSULTATION","ENQUIRIES","OTHER"],
-      "section": "2"
-    },
-    "INCRISK_MEANS_OTHER": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "2"
-    },
-    "INCRISK_REASON": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "INCRISK_RESULT": {
-      "required": true,
-      "type": "String",
-      "enumeration": 
["NO_SUSPICION","REASONABLE_SUSPICION","SIMPLE_SUSPICION","OTHER"],
-      "section": "4"
-    },
-    "INCRISK_RESULT_OTHER": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "INCRISK_SUMMARY": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-"":""},
-  "VQF_902_1_founder": {
-    "FOUNDER_AUTHORIZATION_TYPE": {
-      "required": true,
-      "type": "String",
-      "order": 4,
-      "enumeration": [],
-      "section": "2"
-    },
-    "FOUNDER_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDER_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "order": 3,
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDER_NATIONAL_ID": {
-      "required": true,
-      "type": "String",
-      "order": 5,
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDER_POWER_OF_ATTORNEY": {
-      "required": true,
-      "type": "String",
-      "order": 6,
-      "enumeration": ["CR","MANDATE","OTHER"],
-      "section": ""
-    },
-    "FOUNDER_POWER_OF_ATTORNEY_OTHER": {
-      "required": false,
-      "type": "String",
-      "order": 7,
-      "enumeration": [],
-      "section": ""
-    },
-    "FOUNDER_RESIDENTIAL_ADDRESS": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "order": 1,
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-  "VQF_902_4": {
-    "CONTACT_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["LOW","MEDIUM","HIGH"],
-      "section": "3"
-    },
-    "COUNTRY_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["LOW","MEDIUM","HIGH"],
-      "section": "3"
-    },
-    "COUNTRY_RISK_TYPE": {
-      "required": false,
-      "type": "String",
-      "enumeration": 
["NATIONALITY_CUSTOMER","NATIONALITY_OWNER","DOMICILE_CUSTOMER","DOMICILE_OWNER","DOMICILE_CONTROLLING","BUSINESS_ACTIVITY","PAYMENTS"],
-      "section": "3"
-    },
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "EXTRA_CRITERA_1_RISK_DEFINITION": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "EXTRA_CRITERA_1_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["LOW","MEDIUM","HIGH"],
-      "section": "3"
-    },
-    "EXTRA_CRITERA_2_RISK_DEFINITION": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "EXTRA_CRITERA_2_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["LOW","MEDIUM","HIGH"],
-      "section": "3"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "HIGH_RISK_COUNTRY": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "2"
-    },
-    "HIGH_RISK__ACCEPTANCE_DATE": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "2"
-    },
-    "INDUSTRY_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": 
["TRANSPARENT","HIGH_CASH_TRANSACTION","NOT_WELL_KNOWN","HIGH_RISK_TRADE","UNKNOWN_INDUSTRY"],
-      "section": "3"
-    },
-    "INDUSTRY_RISK_TYPE": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["CUSTOMER","OWNER"],
-      "section": "3"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "PEP_ACCEPTANCE_DATE": {
-      "required": false,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": "1"
-    },
-    "PEP_DOMESTIC": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "PEP_FOREIGN": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "PEP_INTERNATIONAL_ORGANIZATION": {
-      "required": true,
-      "type": "Boolean",
-      "enumeration": [],
-      "section": "1"
-    },
-    "PRODUCT_RISK_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": 
["EASY","SOPHISTICATED","OFFSHORE,","COMPLEX_STRUCTURE","LARGE_NUMBER_OF_ACCOUNTS","COMPLEX_SERVICE","FREQ_TRANS_WITH_HIGH_RISK"],
-      "section": "3"
-    },
-    "RISK_CLASIFICATION_ACCEPTANCE_DATE": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "RISK_CLASIFICATION_LEVEL": {
-      "required": false,
-      "type": "String",
-      "enumeration": ["WITH","WITHOUT"],
-      "section": "3"
-    },
-"":""},
-  "VQF_902_5": {
-    "BIZREL_DEVELOPMENT": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS": {
-      "required": false,
-      "type": "BusinessAddress",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_FINANCIAL_VOLUME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_FURTHER_INFO": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "6"
-    },
-    "BIZREL_INCOME": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "2"
-    },
-    "BIZREL_ORIGIN_AMOUNT": {
-      "required": true,
-      "type": "Amount",
-      "enumeration": [],
-      "section": "3"
-    },
-    "BIZREL_ORIGIN_CATEGORY": {
-      "required": true,
-      "type": "String",
-      "enumeration": ["SAVINGS","OWN_BUSINESS","INHERITANCE","OTHER"],
-      "section": "3"
-    },
-    "BIZREL_ORIGIN_CATEGORY_OTHER": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "BIZREL_ORIGIN_DETAIL": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "3"
-    },
-    "BIZREL_PROFESSION": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "BIZREL_PURPOSE": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "4"
-    },
-    "BIZREL_THIRDPARTY_AMLA_FILES": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "5"
-    },
-    "BIZREL_THIRDPARTY_REFERENCES": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "5"
-    },
-    "BIZREL_THIRDPARTY_RELATIONSHIP": {
-      "required": false,
-      "type": "String",
-      "enumeration": [],
-      "section": "5"
-    },
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-"":""},
-  "VQF_902_9": {
-    "CUSTOMER_ID": {
-      "required": true,
-      "type": "String",
-      "order": 3,
-      "enumeration": [],
-      "section": "header"
-    },
-    "FORM_FILLING_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 2,
-      "enumeration": [],
-      "section": "header"
-    },
-    "IDENTITY_CONTRACTING_PARTNER": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": "1"
-    },
-    "IDENTITY_LIST": {
-      "required": false,
-      "type": "Form<VQF_902_9_identity>[]",
-      "enumeration": [],
-      "section": "2"
-    },
-    "OFFICER_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "order": 1,
-      "enumeration": [],
-      "section": "header"
-    },
-    "SIGNATURE": {
-      "required": true,
-      "type": "String",
-      "order": 2,
-      "enumeration": [],
-      "section": "footer"
-    },
-    "SIGN_DATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "order": 1,
-      "enumeration": [],
-      "section": "footer"
-    },
-"":""},
-  "VQF_902_9_identity": {
-    "IDENTITY_BIRTHDATE": {
-      "required": true,
-      "type": "AbsoluteTime",
-      "enumeration": [],
-      "section": ""
-    },
-    "IDENTITY_DOMICILE": {
-      "required": true,
-      "type": "ResidentialAddress",
-      "enumeration": [],
-      "section": ""
-    },
-    "IDENTITY_FULL_NAME": {
-      "required": true,
-      "type": "String",
-      "enumeration": [],
-      "section": ""
-    },
-    "IDENTITY_NATIONALITY": {
-      "required": true,
-      "type": "CountryCode",
-      "enumeration": [],
-      "section": ""
-    },
-"":""},
-"":""}
\ No newline at end of file
diff --git a/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.ts 
b/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.ts
deleted file mode 100644
index 9eb9d7da7..000000000
--- a/packages/aml-backoffice-ui/src/forms/taler_aml_attributes.ts
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*
-  This file is part of GNU Taler
-  Copyright (C) 2012-2020 Taler Systems SA
-
-  GNU Taler is free software: you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation, either version 3 of the License,
-  or (at your option) any later version.
-
-  GNU Taler is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-  SPDX-License-Identifier: LGPL3.0-or-later
-
-  Note: the LGPL does not apply to all components of GNU Taler,
-  but it does apply to this file.
- */
-
-type AbsoluteTime = string;
-type CountryCode = string;
-type Amount = string;
-type ResidentialAddress = string;
-type BusinessAddress = string;
-type Form<T> = T
-
-export namespace TalerAmlAttributes {
-  export interface VQF_902_1 {
-    /**
-     * 
-     * Required: 
-     */
-    ACCEPTANCE_ADDITIONAL_INFO: String;
-    /**
-     * 
-     * Required: 
-     */
-    ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE: String;
-    /**
-     * 
-     * Required: 
-     */
-    ACCEPTANCE_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    ACCEPTANCE_LANGUAGE: String;
-    /**
-     * 
-     * Required: 
-     */
-    ACCEPTANCE_METHOD: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ENTITY_ADDRESS: BusinessAddress;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ENTITY_COMPANY_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_ENTITY_CONTACT_PERSON_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_ENTITY_EMAIL: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ENTITY_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ENTITY_ID_COPY: File;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_ENTITY_PHONE: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_COMPANY_ID: String;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_COMPANY_ID_COPY: File;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_COMPANY_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_EMAIL: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_NATIONAL_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_NATIONAL_ID_COPY: File;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_PHONE: String;
-    /**
-     * 
-     * Required: 
-     */
-    CUSTOMER_NATURAL_REGISTERED_OFFICE: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_NATURAL_RESIDENTIAL: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_TYPE: String;
-    /**
-     * 
-     * Required: 
-     */
-    EMBARGO_TERRORISM_INFO: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_LIST: Form<VQF_902_1_founder>[];
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    RELATIONSHIP_PURPOSE: String;
-    /**
-     * 
-     * Required: 
-     */
-    RELATIONSHIP_TYPE: String;
-    /**
-     * 
-     * Required: 
-     */
-    RELATIONSHIP_TYPE_OTHER: String;
-  }
-  export interface VQF_902_11 {
-    /**
-     * 
-     * Required: true
-     */
-    CONTROLLING_ENTITY_CONTRACTING_PARTNER: String;
-    /**
-     * 
-     * Required: true
-     */
-    CONTROLLING_ENTITY_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    CONTROLLING_ENTITY_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    CONTROLLING_ENTITY_LEVEL: String;
-    /**
-     * 
-     * Required: true
-     */
-    CONTROLLING_ENTITY_THIRD_PERSON: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGNATURE: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGN_DATE: AbsoluteTime;
-  }
-  export interface VQF_902_12 {
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_BENEFICIARY_LIST: Form<VQF_902_12_beneficiary>[];
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_CONTRACTING_PARTNER: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_DISCRETIONARY: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_LIST: Form<VQF_902_12_founder>[];
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_KNOWN_AS: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_LIST: Form<VQF_902_12_pre>[];
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_LIST: Form<VQF_902_12_representative>[];
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REVOCABLE: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGNATURE: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGN_DATE: AbsoluteTime;
-  }
-  export interface VQF_902_12_beneficiary {
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_ADDITION: String;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDATION_BENEFICIARY_RIGHT_TO_CLAIM: Boolean;
-  }
-  export interface VQF_902_12_founder {
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_DEATHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_FOUNDER_RIGHT_TO_REVOKE: Boolean;
-  }
-  export interface VQF_902_12_pre {
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_DEATHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_PRE_NATIONALITY: CountryCode;
-  }
-  export interface VQF_902_12_representative {
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE: Boolean;
-  }
-  export interface VQF_902_13 {
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGNATURE: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGN_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_BENEFICIARY_LIST: Form<VQF_902_13_beneficiary>[];
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_CONTRACTING_PARTNER: String;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_DISCRETIONARY: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_KNOWN_AS: String;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_PRE_LIST: Form<VQF_902_13_pre>[];
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_PROTECTOR_LIST: Form<VQF_902_13_protector>[];
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_REVOCABLE: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_LIST: Form<VQF_902_13_settlor>[];
-  }
-  export interface VQF_902_13_beneficiary {
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_ADDITION: String;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_BENEFICIARY_RIGHT_TO_CLAIM: Boolean;
-  }
-  export interface VQF_902_13_further {
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_FURTHER_LIST: Form<VQF_902_13_further>[];
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_FURTHER_RIGHT_TO_REVOKE: Boolean;
-  }
-  export interface VQF_902_13_pre {
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_DEATHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PRE_NATIONALITY: CountryCode;
-  }
-  export interface VQF_902_13_protector {
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_COUNTRY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: 
-     */
-    TRUST_PROTECTOR_RIGHT_TO_REVOKE: Boolean;
-  }
-  export interface VQF_902_13_settlor {
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_DEATHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    TRUST_SETTLOR_RIGHT_TO_REVOKE: Boolean;
-  }
-  export interface VQF_902_14 {
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    INCRISK_DOCUMENTS: File[];
-    /**
-     * 
-     * Required: true
-     */
-    INCRISK_MEANS: String;
-    /**
-     * 
-     * Required: 
-     */
-    INCRISK_MEANS_OTHER: String;
-    /**
-     * 
-     * Required: true
-     */
-    INCRISK_REASON: String;
-    /**
-     * 
-     * Required: true
-     */
-    INCRISK_RESULT: String;
-    /**
-     * 
-     * Required: 
-     */
-    INCRISK_RESULT_OTHER: String;
-    /**
-     * 
-     * Required: true
-     */
-    INCRISK_SUMMARY: String;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-  }
-  export interface VQF_902_1_founder {
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_AUTHORIZATION_TYPE: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_NATIONALITY: CountryCode;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_NATIONAL_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_POWER_OF_ATTORNEY: String;
-    /**
-     * 
-     * Required: 
-     */
-    FOUNDER_POWER_OF_ATTORNEY_OTHER: String;
-    /**
-     * 
-     * Required: true
-     */
-    FOUNDER_RESIDENTIAL_ADDRESS: ResidentialAddress;
-  }
-  export interface VQF_902_4 {
-    /**
-     * 
-     * Required: 
-     */
-    CONTACT_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: 
-     */
-    COUNTRY_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: 
-     */
-    COUNTRY_RISK_TYPE: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: 
-     */
-    EXTRA_CRITERA_1_RISK_DEFINITION: String;
-    /**
-     * 
-     * Required: 
-     */
-    EXTRA_CRITERA_1_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: 
-     */
-    EXTRA_CRITERA_2_RISK_DEFINITION: String;
-    /**
-     * 
-     * Required: 
-     */
-    EXTRA_CRITERA_2_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    HIGH_RISK_COUNTRY: Boolean;
-    /**
-     * 
-     * Required: 
-     */
-    HIGH_RISK__ACCEPTANCE_DATE: String;
-    /**
-     * 
-     * Required: 
-     */
-    INDUSTRY_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: 
-     */
-    INDUSTRY_RISK_TYPE: String;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    PEP_ACCEPTANCE_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    PEP_DOMESTIC: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    PEP_FOREIGN: Boolean;
-    /**
-     * 
-     * Required: true
-     */
-    PEP_INTERNATIONAL_ORGANIZATION: Boolean;
-    /**
-     * 
-     * Required: 
-     */
-    PRODUCT_RISK_LEVEL: String;
-    /**
-     * 
-     * Required: 
-     */
-    RISK_CLASIFICATION_ACCEPTANCE_DATE: String;
-    /**
-     * 
-     * Required: 
-     */
-    RISK_CLASIFICATION_LEVEL: String;
-  }
-  export interface VQF_902_5 {
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_DEVELOPMENT: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_FINANCIAL_BENEFICIARIES_ADDRESS: BusinessAddress;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_FINANCIAL_BENEFICIARIES_BANK_ACCOUNT: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_FINANCIAL_BENEFICIARIES_FULL_NAME: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_FINANCIAL_VOLUME: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_FURTHER_INFO: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_INCOME: String;
-    /**
-     * 
-     * Required: true
-     */
-    BIZREL_ORIGIN_AMOUNT: Amount;
-    /**
-     * 
-     * Required: true
-     */
-    BIZREL_ORIGIN_CATEGORY: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_ORIGIN_CATEGORY_OTHER: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_ORIGIN_DETAIL: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_PROFESSION: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_PURPOSE: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_THIRDPARTY_AMLA_FILES: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_THIRDPARTY_REFERENCES: String;
-    /**
-     * 
-     * Required: 
-     */
-    BIZREL_THIRDPARTY_RELATIONSHIP: String;
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-  }
-  export interface VQF_902_9 {
-    /**
-     * 
-     * Required: true
-     */
-    CUSTOMER_ID: String;
-    /**
-     * 
-     * Required: true
-     */
-    FORM_FILLING_DATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    IDENTITY_CONTRACTING_PARTNER: String;
-    /**
-     * 
-     * Required: 
-     */
-    IDENTITY_LIST: Form<VQF_902_9_identity>[];
-    /**
-     * 
-     * Required: true
-     */
-    OFFICER_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGNATURE: String;
-    /**
-     * 
-     * Required: true
-     */
-    SIGN_DATE: AbsoluteTime;
-  }
-  export interface VQF_902_9_identity {
-    /**
-     * 
-     * Required: true
-     */
-    IDENTITY_BIRTHDATE: AbsoluteTime;
-    /**
-     * 
-     * Required: true
-     */
-    IDENTITY_DOMICILE: ResidentialAddress;
-    /**
-     * 
-     * Required: true
-     */
-    IDENTITY_FULL_NAME: String;
-    /**
-     * 
-     * Required: true
-     */
-    IDENTITY_NATIONALITY: CountryCode;
-  }
-
-
-}
diff --git a/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx 
b/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
index 5cf090816..6ca364c76 100644
--- a/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
+++ b/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
@@ -295,25 +295,8 @@ export function CaseDetails({
     );
   }
 
-  return (
-    <div class="min-w-60">
-      <header class="flex items-center justify-between border-b border-white/5 
px-4 py-4 sm:px-6 sm:py-6 lg:px-8">
-        <h1 class="text-base font-semibold leading-7 text-black">
-          <i18n.Translate>Case history for account: </i18n.Translate>
-        </h1>
-        <div>{account}</div>
-        <CopyButton class="" getContent={() => account} />
-      </header>
-
-      {!activeDecision || !activeDecision.to_investigate ? undefined : (
-        <Attention title={i18n.str`Under investigation`} type="warning">
-          <i18n.Translate>
-            This account requires a manual review and is waiting for a decision
-            to be made.
-          </i18n.Translate>
-        </Attention>
-      )}
-
+  function ShortcutActionButtons(): VNode {
+    return (
       <div>
         <button
           onClick={async () => {
@@ -435,6 +418,51 @@ export function CaseDetails({
           <i18n.Translate>Set predefined measure</i18n.Translate>
         </button>
       </div>
+    );
+  }
+
+  return (
+    <div class="min-w-60">
+      <header class="flex items-center justify-between border-b border-white/5 
px-4 py-4 sm:px-6 sm:py-6 lg:px-8">
+        <h1 class="text-base font-semibold leading-7 text-black">
+          <i18n.Translate>Case history for account: </i18n.Translate>
+        </h1>
+        <div>{account}</div>
+        <CopyButton class="" getContent={() => account} />
+      </header>
+
+      {!activeDecision || !activeDecision.to_investigate ? undefined : (
+        <Attention title={i18n.str`Under investigation`} type="warning">
+          <i18n.Translate>
+            This account requires a manual review and is waiting for a decision
+            to be made.
+          </i18n.Translate>
+        </Attention>
+      )}
+
+      <ShortcutActionButtons />
+
+      {selected && <ShowConsolidated history={events} until={selected} />}
+      <div class="p-4">
+        <h1 class="text-base font-semibold leading-6 text-black">
+          <i18n.Translate>Collected information</i18n.Translate>
+        </h1>
+        <p class="mt-1 text-sm leading-6 text-gray-600">
+          <i18n.Translate>
+            Every event when the user was asked information.
+          </i18n.Translate>
+        </p>
+      </div>
+      {events.length === 0 ? (
+        <Attention title={i18n.str`The event list is empty`} type="warning" />
+      ) : (
+        <ShowTimeline
+          history={events}
+          onSelect={(time) => {
+            setSelected(time);
+          }}
+        />
+      )}
 
       {!activeDecision ? (
         <Attention title={i18n.str`No active rules found`} type="warning" />
@@ -456,28 +484,6 @@ export function CaseDetails({
           />
         </div>
       )}
-      <div class="px-4 sm:px-0">
-        <h1 class="text-base font-semibold leading-6 text-black">
-          <i18n.Translate>KYC collection events</i18n.Translate>
-        </h1>
-        <p class="mt-1 text-sm leading-6 text-gray-600">
-          <i18n.Translate>
-            Every event when the user was asked information.
-          </i18n.Translate>
-        </p>
-      </div>
-      {events.length === 0 ? (
-        <Attention title={i18n.str`The event list is empty`} type="warning" />
-      ) : (
-        <ShowTimeline
-          history={events}
-          onSelect={(time) => {
-            setSelected(time);
-          }}
-        />
-      )}
-      {/* {selected && <ShowEventDetails event={selected} />} */}
-      {selected && <ShowConsolidated history={events} until={selected} />}
       {restDecisions.length > 0 ? (
         <div class="my-4 grid gap-y-4">
           <h1 class="text-base font-semibold leading-6 text-black">
@@ -706,10 +712,12 @@ function SubmitNewDecision({
         <i18n.Translate>New rules to submit</i18n.Translate>
       </h1>
 
-      <ShowMesaureInfo
-        nextMeasures={separateMeasures(decision.request.new_measures)}
-        customMeasure={decision.request.new_rules.custom_measures}
-      />
+      <div class="my-2">
+        <ShowMesaureInfo
+          nextMeasures={separateMeasures(decision.request.new_measures)}
+          customMeasure={decision.request.new_rules.custom_measures}
+        />
+      </div>
 
       <ShowDecisionLimitInfo
         fixed
@@ -797,11 +805,7 @@ function ShowMesaureInfo({
   const filteredMeasures = nextMeasures.filter((n) => !!n.length);
 
   if (!filteredMeasures.length) {
-    return (
-      <div>
-        <i18n.Translate>no new measure</i18n.Translate>
-      </div>
-    );
+    return <Fragment />;
   }
   if (filteredMeasures.length === 1) {
     const measurePath = filteredMeasures[0];
@@ -811,7 +815,7 @@ function ShowMesaureInfo({
       return (
         <div>
           <i18n.Translate>
-            the user needs to complete this measure
+            The customer needs to complete this measure
           </i18n.Translate>
           <CurrentMeasureTable list={[m]} />
         </div>
@@ -820,7 +824,7 @@ function ShowMesaureInfo({
     return (
       <div>
         <i18n.Translate>
-          the user needs to complete all of these measures
+          The customer needs to complete all of these measures
         </i18n.Translate>
         <CurrentMeasureTable list={measurePath.map((name) => map[name])} />
       </div>
@@ -830,7 +834,7 @@ function ShowMesaureInfo({
   return (
     <div>
       <i18n.Translate>
-        the user has more than one option with different measures to complete.
+        The user has more than one option with different measures to complete.
         For any options, if there is more than one measure then the user will
         need to complete all the measures.
       </i18n.Translate>
diff --git a/packages/aml-backoffice-ui/src/pages/MeasuresTable.tsx 
b/packages/aml-backoffice-ui/src/pages/MeasuresTable.tsx
index a9a02c2cb..b3bd68561 100644
--- a/packages/aml-backoffice-ui/src/pages/MeasuresTable.tsx
+++ b/packages/aml-backoffice-ui/src/pages/MeasuresTable.tsx
@@ -35,7 +35,7 @@ export function CurrentMeasureTable({
 }): VNode {
   const { i18n } = useTranslationContext();
   return (
-    <div class="mt-8 flow-root">
+    <div class="mt-4 flow-root">
       <div class="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
         <div class="inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8">
           <div class="overflow-hidden shadow ring-1 ring-black/5 
sm:rounded-lg">
diff --git a/packages/aml-backoffice-ui/src/pages/ShowConsolidated.tsx 
b/packages/aml-backoffice-ui/src/pages/ShowConsolidated.tsx
index 4088ed823..b7812ed49 100644
--- a/packages/aml-backoffice-ui/src/pages/ShowConsolidated.tsx
+++ b/packages/aml-backoffice-ui/src/pages/ShowConsolidated.tsx
@@ -72,7 +72,7 @@ export function ShowConsolidated({
       Object.entries(fixed).length > 0
         ? [
             {
-              title: i18n.str`KYC collected info`,
+              title: i18n.str`Collected information`,
               description:
                 until.t_ms === "never"
                   ? undefined

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]