From c671c844d5d2c3733f82bc3fbd4aca6a0c880d0c Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 1 Sep 2022 18:41:44 +0100 Subject: [PATCH 1/9] change wording from select to overide --- src/webapp/pages/import-template/ImportTemplatePage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webapp/pages/import-template/ImportTemplatePage.tsx b/src/webapp/pages/import-template/ImportTemplatePage.tsx index 9a59e723..e497d3c6 100644 --- a/src/webapp/pages/import-template/ImportTemplatePage.tsx +++ b/src/webapp/pages/import-template/ImportTemplatePage.tsx @@ -344,7 +344,7 @@ export default function ImportTemplatePage({ settings }: RouteComponentProps) { } - label={i18n.t("Select import Organisation Unit")} + label={i18n.t("Overide import Organisation Unit")} /> )} From 5b4fec1ba2ca7a3f4ce2ac7ec0591230690428f2 Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 1 Sep 2022 18:43:14 +0100 Subject: [PATCH 2/9] update en.pot --- i18n/en.pot | 6 +++--- i18n/es.po | 5 +++-- i18n/fr.po | 5 +++-- i18n/pt.po | 5 +++-- i18n/ru.po | 5 +++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/i18n/en.pot b/i18n/en.pot index e6c85ac9..325b004c 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2022-04-29T09:28:31.324Z\n" -"PO-Revision-Date: 2022-04-29T09:28:31.324Z\n" +"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" +"PO-Revision-Date: 2022-09-01T17:42:31.871Z\n" msgid "Data values - Create/update" msgstr "" @@ -996,7 +996,7 @@ msgstr "" msgid "data values" msgstr "" -msgid "Select import Organisation Unit" +msgid "Overide import Organisation Unit" msgstr "" msgid "No capture org unit match element org units" diff --git a/i18n/es.po b/i18n/es.po index 2009f0ce..774fd9c8 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-04-29T09:28:31.324Z\n" +"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1039,7 +1039,8 @@ msgstr "Actualizar" msgid "data values" msgstr "valores de datos" -msgid "Select import Organisation Unit" +#, fuzzy +msgid "Overide import Organisation Unit" msgstr "Seleccione una unidad organizativa en la que importar los datos" msgid "No capture org unit match element org units" diff --git a/i18n/fr.po b/i18n/fr.po index a44bf038..286464c0 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load App\n" -"POT-Creation-Date: 2022-04-29T09:28:31.324Z\n" +"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1062,7 +1062,8 @@ msgstr "Mettre à jour" msgid "data values" msgstr "valeurs de données" -msgid "Select import Organisation Unit" +#, fuzzy +msgid "Overide import Organisation Unit" msgstr "Sélectionnez l'unité d'organisation d'importation" msgid "No capture org unit match element org units" diff --git a/i18n/pt.po b/i18n/pt.po index e89ad9ad..fe2b5b08 100644 --- a/i18n/pt.po +++ b/i18n/pt.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-04-29T09:28:31.324Z\n" +"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1096,7 +1096,8 @@ msgstr "Atualizar" msgid "data values" msgstr "valores de dados" -msgid "Select import Organisation Unit" +#, fuzzy +msgid "Overide import Organisation Unit" msgstr "Selecione a unidade organizacional para importar os dados" msgid "No capture org unit match element org units" diff --git a/i18n/ru.po b/i18n/ru.po index f3421d81..bb8aaada 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-04-29T09:28:31.324Z\n" +"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1100,7 +1100,8 @@ msgstr "Обновление" msgid "data values" msgstr "значения данных" -msgid "Select import Organisation Unit" +#, fuzzy +msgid "Overide import Organisation Unit" msgstr "Выберите импортируемое организационное подразделение" msgid "No capture org unit match element org units" From 398c17adbc0cb36a6747081fb8bb3166bb868822 Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 8 Sep 2022 11:37:52 +0100 Subject: [PATCH 3/9] fix removing of populate with data checkbox + ou selection --- src/webapp/components/template-selector/TemplateSelector.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/webapp/components/template-selector/TemplateSelector.tsx b/src/webapp/components/template-selector/TemplateSelector.tsx index 12706c05..33cbc926 100644 --- a/src/webapp/components/template-selector/TemplateSelector.tsx +++ b/src/webapp/components/template-selector/TemplateSelector.tsx @@ -138,9 +138,7 @@ export const TemplateSelector = ({ settings, themes, onChange, customTemplates } setState(state => ({ ...state, type: undefined, id: undefined, populate: false })); clearPopulateDates(); setTemplates(options); - setSelectedOrgUnits([]); setOrgUnitTreeFilter([]); - setUserHasReadAccess(false); }; const onTemplateChange = ({ value }: SelectOption) => { From fa2b7279e33c9f1b4cb4ef58e122a883f9168162 Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 8 Sep 2022 11:42:31 +0100 Subject: [PATCH 4/9] fix typo "overide" --- src/webapp/pages/import-template/ImportTemplatePage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webapp/pages/import-template/ImportTemplatePage.tsx b/src/webapp/pages/import-template/ImportTemplatePage.tsx index e497d3c6..b4b9d39b 100644 --- a/src/webapp/pages/import-template/ImportTemplatePage.tsx +++ b/src/webapp/pages/import-template/ImportTemplatePage.tsx @@ -344,7 +344,7 @@ export default function ImportTemplatePage({ settings }: RouteComponentProps) { } - label={i18n.t("Overide import Organisation Unit")} + label={i18n.t("Override import Organisation Unit")} /> )} From bd8935da99db0a109e5187cc27b29a2f6be8dc9c Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 8 Sep 2022 11:45:26 +0100 Subject: [PATCH 5/9] up en.pot --- i18n/en.pot | 6 +++--- i18n/es.po | 4 ++-- i18n/fr.po | 4 ++-- i18n/pt.po | 4 ++-- i18n/ru.po | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/i18n/en.pot b/i18n/en.pot index 325b004c..d578b34f 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" -"PO-Revision-Date: 2022-09-01T17:42:31.871Z\n" +"POT-Creation-Date: 2022-09-08T10:43:07.553Z\n" +"PO-Revision-Date: 2022-09-08T10:43:07.553Z\n" msgid "Data values - Create/update" msgstr "" @@ -996,7 +996,7 @@ msgstr "" msgid "data values" msgstr "" -msgid "Overide import Organisation Unit" +msgid "Override import Organisation Unit" msgstr "" msgid "No capture org unit match element org units" diff --git a/i18n/es.po b/i18n/es.po index 774fd9c8..5b4e5102 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" +"POT-Creation-Date: 2022-09-08T10:43:07.553Z\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1040,7 +1040,7 @@ msgid "data values" msgstr "valores de datos" #, fuzzy -msgid "Overide import Organisation Unit" +msgid "Override import Organisation Unit" msgstr "Seleccione una unidad organizativa en la que importar los datos" msgid "No capture org unit match element org units" diff --git a/i18n/fr.po b/i18n/fr.po index 286464c0..be16fe09 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load App\n" -"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" +"POT-Creation-Date: 2022-09-08T10:43:07.553Z\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1063,7 +1063,7 @@ msgid "data values" msgstr "valeurs de données" #, fuzzy -msgid "Overide import Organisation Unit" +msgid "Override import Organisation Unit" msgstr "Sélectionnez l'unité d'organisation d'importation" msgid "No capture org unit match element org units" diff --git a/i18n/pt.po b/i18n/pt.po index fe2b5b08..9a84beb3 100644 --- a/i18n/pt.po +++ b/i18n/pt.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" +"POT-Creation-Date: 2022-09-08T10:43:07.553Z\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1097,7 +1097,7 @@ msgid "data values" msgstr "valores de dados" #, fuzzy -msgid "Overide import Organisation Unit" +msgid "Override import Organisation Unit" msgstr "Selecione a unidade organizacional para importar os dados" msgid "No capture org unit match element org units" diff --git a/i18n/ru.po b/i18n/ru.po index bb8aaada..c0b269f3 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Bulk Load\n" -"POT-Creation-Date: 2022-09-01T17:42:31.871Z\n" +"POT-Creation-Date: 2022-09-08T10:43:07.553Z\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1101,7 +1101,7 @@ msgid "data values" msgstr "значения данных" #, fuzzy -msgid "Overide import Organisation Unit" +msgid "Override import Organisation Unit" msgstr "Выберите импортируемое организационное подразделение" msgid "No capture org unit match element org units" From 101b67d189cf7650e8b840a9d63764aae7b264bc Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Mon, 3 Oct 2022 11:39:12 +0100 Subject: [PATCH 6/9] remove "fuzzy" tag --- i18n/es.po | 1 - i18n/fr.po | 1 - i18n/pt.po | 1 - i18n/ru.po | 1 - 4 files changed, 4 deletions(-) diff --git a/i18n/es.po b/i18n/es.po index 5b4e5102..00c63b9c 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -1039,7 +1039,6 @@ msgstr "Actualizar" msgid "data values" msgstr "valores de datos" -#, fuzzy msgid "Override import Organisation Unit" msgstr "Seleccione una unidad organizativa en la que importar los datos" diff --git a/i18n/fr.po b/i18n/fr.po index be16fe09..b36a453e 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -1062,7 +1062,6 @@ msgstr "Mettre à jour" msgid "data values" msgstr "valeurs de données" -#, fuzzy msgid "Override import Organisation Unit" msgstr "Sélectionnez l'unité d'organisation d'importation" diff --git a/i18n/pt.po b/i18n/pt.po index 9a84beb3..5bb9e38e 100644 --- a/i18n/pt.po +++ b/i18n/pt.po @@ -1096,7 +1096,6 @@ msgstr "Atualizar" msgid "data values" msgstr "valores de dados" -#, fuzzy msgid "Override import Organisation Unit" msgstr "Selecione a unidade organizacional para importar os dados" diff --git a/i18n/ru.po b/i18n/ru.po index c0b269f3..f30e4d43 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -1100,7 +1100,6 @@ msgstr "Обновление" msgid "data values" msgstr "значения данных" -#, fuzzy msgid "Override import Organisation Unit" msgstr "Выберите импортируемое организационное подразделение" From c9918ebfd768e2e190d611b9b7668ca9f564ca41 Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Thu, 6 Oct 2022 19:12:21 +0100 Subject: [PATCH 7/9] maintain ou selection on data model filter selection --- src/webapp/components/template-selector/TemplateSelector.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/webapp/components/template-selector/TemplateSelector.tsx b/src/webapp/components/template-selector/TemplateSelector.tsx index 33cbc926..7e4d179f 100644 --- a/src/webapp/components/template-selector/TemplateSelector.tsx +++ b/src/webapp/components/template-selector/TemplateSelector.tsx @@ -138,7 +138,6 @@ export const TemplateSelector = ({ settings, themes, onChange, customTemplates } setState(state => ({ ...state, type: undefined, id: undefined, populate: false })); clearPopulateDates(); setTemplates(options); - setOrgUnitTreeFilter([]); }; const onTemplateChange = ({ value }: SelectOption) => { From ca011eeda3c2976b2224bff2cca040f82827df30 Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Tue, 11 Oct 2022 13:23:59 +0100 Subject: [PATCH 8/9] fix: user has to reselect template on model change --- src/webapp/components/template-selector/TemplateSelector.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/webapp/components/template-selector/TemplateSelector.tsx b/src/webapp/components/template-selector/TemplateSelector.tsx index 7e4d179f..b7bbeaec 100644 --- a/src/webapp/components/template-selector/TemplateSelector.tsx +++ b/src/webapp/components/template-selector/TemplateSelector.tsx @@ -135,7 +135,6 @@ export const TemplateSelector = ({ settings, themes, onChange, customTemplates } const options = modelToSelectOption(dataSource[value] ?? []); setSelectedModel(value); - setState(state => ({ ...state, type: undefined, id: undefined, populate: false })); clearPopulateDates(); setTemplates(options); }; From 0f133d84e4c00f07334bd8b9771e8ce314fa497c Mon Sep 17 00:00:00 2001 From: deeonwuli Date: Wed, 12 Oct 2022 12:53:21 +0100 Subject: [PATCH 9/9] dont allow download if template is not selected --- .../template-selector/TemplateSelector.tsx | 19 ++++++++++++++++++- .../DownloadTemplatePage.tsx | 10 ++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/webapp/components/template-selector/TemplateSelector.tsx b/src/webapp/components/template-selector/TemplateSelector.tsx index b7bbeaec..48c968bb 100644 --- a/src/webapp/components/template-selector/TemplateSelector.tsx +++ b/src/webapp/components/template-selector/TemplateSelector.tsx @@ -29,14 +29,26 @@ export interface TemplateSelectorState extends DownloadTemplateProps { templateType?: TemplateType; } +export interface DataModelProps { + value: string; + label: string; +} + export interface TemplateSelectorProps { settings: Settings; themes: Theme[]; onChange(state: TemplateSelectorState | null): void; + onChangeModel(state: DataModelProps[]): void; customTemplates: CustomTemplate[]; } -export const TemplateSelector = ({ settings, themes, onChange, customTemplates }: TemplateSelectorProps) => { +export const TemplateSelector = ({ + settings, + themes, + onChange, + onChangeModel, + customTemplates, +}: TemplateSelectorProps) => { const classes = useStyles(); const { api, compositionRoot } = useAppContext(); @@ -99,6 +111,10 @@ export const TemplateSelector = ({ settings, themes, onChange, customTemplates } }); }, [models, compositionRoot, customTemplates, settings]); + useEffect(() => { + onChangeModel(templates); + }, [onChangeModel, templates]); + useEffect(() => { const { type, id } = state; if (type && id) { @@ -137,6 +153,7 @@ export const TemplateSelector = ({ settings, themes, onChange, customTemplates } setSelectedModel(value); clearPopulateDates(); setTemplates(options); + onChangeModel(templates); }; const onTemplateChange = ({ value }: SelectOption) => { diff --git a/src/webapp/pages/download-template/DownloadTemplatePage.tsx b/src/webapp/pages/download-template/DownloadTemplatePage.tsx index e8e7ef99..46375651 100644 --- a/src/webapp/pages/download-template/DownloadTemplatePage.tsx +++ b/src/webapp/pages/download-template/DownloadTemplatePage.tsx @@ -2,7 +2,11 @@ import { useLoading, useSnackbar } from "@eyeseetea/d2-ui-components"; import { Button, makeStyles } from "@material-ui/core"; import React, { useState } from "react"; import i18n from "../../../locales"; -import { TemplateSelector, TemplateSelectorState } from "../../components/template-selector/TemplateSelector"; +import { + DataModelProps, + TemplateSelector, + TemplateSelectorState, +} from "../../components/template-selector/TemplateSelector"; import { useAppContext } from "../../contexts/app-context"; import { RouteComponentProps } from "../Router"; @@ -13,9 +17,10 @@ export default function DownloadTemplatePage({ settings, themes, customTemplates const { api, compositionRoot } = useAppContext(); const [template, setTemplate] = useState(null); + const [availableModels, setAvailableModels] = useState([]); const handleTemplateDownloadClick = async () => { - if (!template) { + if (!template || availableModels.filter(availableModel => template?.id === availableModel.value).length === 0) { snackbar.info(i18n.t("You need to select at least one element to export")); return; } @@ -69,6 +74,7 @@ export default function DownloadTemplatePage({ settings, themes, customTemplates return (