From e06de0a0cc5eb0653111a0d1aa29f5a1ae848c37 Mon Sep 17 00:00:00 2001 From: Spitap Date: Tue, 6 Sep 2022 19:41:58 +0200 Subject: [PATCH] Auto fetch application parameter label --- .../src/components/parameters/ParametersForm.vue | 16 +++++----------- modoboa/parameters/api/v2/viewsets.py | 3 ++- modoboa/parameters/tools.py | 3 +++ 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/parameters/ParametersForm.vue b/frontend/src/components/parameters/ParametersForm.vue index ab2287024..108844d96 100644 --- a/frontend/src/components/parameters/ParametersForm.vue +++ b/frontend/src/components/parameters/ParametersForm.vue @@ -84,7 +84,8 @@ export default { active: 0, structure: [], parameters: {}, - formErrors: {} + formErrors: {}, + label: '' } }, computed: { @@ -93,15 +94,7 @@ export default { return result }, title () { - let result = this.$gettext('Settings: ') - if (this.$route.params.app === 'core') { - result += this.$gettext('General') - } else if (this.$route.params.app === 'admin') { - result += this.$gettext('Administration') - } else if (this.$route.params.app === 'limits') { - result += this.$gettext('Limitations') - } - return result + return this.$gettext('Settings: ' + this.label) } }, created () { @@ -118,7 +111,8 @@ export default { this.structure = response.data }) parameters.getApplication(app).then(response => { - this.parameters = response.data + this.parameters = response.data.params + this.label = response.data.label }) }, display (element) { diff --git a/modoboa/parameters/api/v2/viewsets.py b/modoboa/parameters/api/v2/viewsets.py index efefd838c..e8c0a34ad 100644 --- a/modoboa/parameters/api/v2/viewsets.py +++ b/modoboa/parameters/api/v2/viewsets.py @@ -43,7 +43,8 @@ class ParametersViewSet(viewsets.ViewSet): parameters = request.localconfig.parameters.get_values_dict(pk) serializer = tools.registry.get_serializer_class("global", pk)( parameters) - return response.Response(serializer.data) + data = {"params":serializer.data, "label":tools.registry.get_label("global", pk)} + return response.Response(data) @extend_schema( parameters=[ diff --git a/modoboa/parameters/tools.py b/modoboa/parameters/tools.py index f3a6fd5d6..cda90ba1e 100644 --- a/modoboa/parameters/tools.py +++ b/modoboa/parameters/tools.py @@ -63,6 +63,9 @@ class Registry(object): result = [{"name": key, "label": value["label"]} for key, value in self._registry2[level].items()] return result + + def get_label(self, level, app): + return self._registry2[level][app]["label"] def get_forms(self, level, *args, **kwargs): """Return form instances for all app of the given level."""