From e7af3f5b4893a07554492e3b70308835b16d6d08 Mon Sep 17 00:00:00 2001 From: Sven Eberth Date: Wed, 31 Jul 2019 17:55:20 +0200 Subject: [PATCH 1/3] translate bone params category and tooltip in json renderer --- CHANGELOG.md | 6 +++++- render/json/default.py | 27 ++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05ed8f9..f8df9b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,16 @@ This file documents any relevant changes done to ViUR server since version 2. ## [develop] - Current development version +### Added +- translate bone params _category_ and _tooltip_ in json renderer + ## [2.5.0] Vesuv - 2019-06-07 ### Added -- updateLevel for relationalBones, to exclude specific bones from the automatic background update ([#170](https://github.com/viur-framework/server/pull/170)) +- updateLevel for relationalBones, to exclude specific bones from thpwd +e automatic background update ([#170](https://github.com/viur-framework/server/pull/170)) - vacuumRelations task to remove relation-objects from bones/kinds that don't exist anymore from viur-relations ([#169](https://github.com/viur-framework/server/pull/169)) - the new recordBone which can store multiple sets of data for the bones inside it's relskel ([#148](https://github.com/viur-framework/server/pull/148)) diff --git a/render/json/default.py b/render/json/default.py index dd5aef7..7f7ab7e 100644 --- a/render/json/default.py +++ b/render/json/default.py @@ -30,7 +30,7 @@ def renderBoneStructure(self, bone): "descr": _(bone.descr), "type": bone.type, "required": bone.required, - "params": bone.params, + "params": self.preprocessParams(bone.params), "visible": bone.visible, "readonly": bone.readOnly, "unique": bone.unique @@ -223,6 +223,27 @@ def renderEntry(self, skel, actionName, params = None): request.current.get().response.headers["Content-Type"] = "application/json" return json.dumps(res) + def preprocessParams(self, params): + """ + Translate params to support multilingual categories and tooltips. + + :param params: Params dictionary which values should be translated. If we get no dictionary, we do nothing. + :type params: dict + + :return: Params dictionary with translated values. + :rtype: dict + """ + + if not isinstance(params, dict): + return params + + res = params.copy() + for key in ["category", "tooltip"]: + if key in res.keys(): + res[key] = _(res[key]) + + return res + def view(self, skel, action="view", params = None, *args, **kwargs): return self.renderEntry(skel, action, params) @@ -255,10 +276,10 @@ def list(self, skellist, action = "list", params=None, **kwargs): def editItemSuccess(self, skel, params=None, **kwargs): return self.renderEntry(skel, "editSuccess", params) - + def addItemSuccess(self, skel, params=None, **kwargs): return self.renderEntry(skel, "addSuccess", params) - + def addDirSuccess(self, rootNode, path, dirname, params=None, *args, **kwargs): return json.dumps("OKAY") From 065482c11fb07ffe293c7e184fda41495c818142 Mon Sep 17 00:00:00 2001 From: Sven Eberth Date: Wed, 31 Jul 2019 19:07:52 +0200 Subject: [PATCH 2/3] fixed typo --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8df9b0..ddda785 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,7 @@ This file documents any relevant changes done to ViUR server since version 2. ### Added -- updateLevel for relationalBones, to exclude specific bones from thpwd -e automatic background update ([#170](https://github.com/viur-framework/server/pull/170)) +- updateLevel for relationalBones, to exclude specific bones from the automatic background update ([#170](https://github.com/viur-framework/server/pull/170)) - vacuumRelations task to remove relation-objects from bones/kinds that don't exist anymore from viur-relations ([#169](https://github.com/viur-framework/server/pull/169)) - the new recordBone which can store multiple sets of data for the bones inside it's relskel ([#148](https://github.com/viur-framework/server/pull/148)) From e65aa2d237786b91298faf7ad1a49a6ebf6d8c09 Mon Sep 17 00:00:00 2001 From: Sven Eberth Date: Thu, 1 Aug 2019 12:15:01 +0200 Subject: [PATCH 3/3] applied code suggestion from @tsteinruecken --- render/json/default.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/render/json/default.py b/render/json/default.py index 7f7ab7e..9735bf0 100644 --- a/render/json/default.py +++ b/render/json/default.py @@ -237,12 +237,7 @@ def preprocessParams(self, params): if not isinstance(params, dict): return params - res = params.copy() - for key in ["category", "tooltip"]: - if key in res.keys(): - res[key] = _(res[key]) - - return res + return {key: (_(value) if key in ["category", "tooltip"] else value) for key, value in params.items()} def view(self, skel, action="view", params = None, *args, **kwargs): return self.renderEntry(skel, action, params)