From 73c93af3e7b1eacf74bc204f0c4e9afb1c7b6e41 Mon Sep 17 00:00:00 2001 From: Marcin Lulek Date: Mon, 10 Oct 2016 16:00:18 +0200 Subject: [PATCH] helpers: flash messages can now carry additional information in json format --- rhodecode/lib/helpers.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/rhodecode/lib/helpers.py b/rhodecode/lib/helpers.py index 423f29be..eaf2badf 100644 --- a/rhodecode/lib/helpers.py +++ b/rhodecode/lib/helpers.py @@ -682,14 +682,23 @@ class Flash(_Flash): payloads = [] messages = flash.pop_messages() if messages: - for message in messages: - payloads.append({ - 'message': { - 'message': u'{}'.format(message.message), - 'level': message.category, - 'force': 'true' - } - }) + for message in messages: + subdata = {} + if hasattr(message.message, 'rsplit'): + flash_data = message.message.rsplit('|DELIM|', 1) + org_message = flash_data[0] + if len(flash_data) > 1: + subdata = json.loads(flash_data[1]) + else: + org_message = message.message + payloads.append({ + 'message': { + 'message': u'{}'.format(org_message), + 'level': message.category, + 'force': True, + 'subdata': subdata + } + }) return json.dumps(payloads) flash = Flash()