From eddc516d5f0f2df53b3aa9fd2ee519edaa37752e Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Thu, 15 Nov 2012 10:39:32 -0500 Subject: [PATCH] send_message: Allow list-form "to" for sending to streams. (imported from commit f1d8c694b5d89d09222d4f303f68841aede64385) --- zephyr/views.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/zephyr/views.py b/zephyr/views.py index aec63fe6ef..c7933e7de3 100644 --- a/zephyr/views.py +++ b/zephyr/views.py @@ -502,7 +502,7 @@ def create_mirrored_message_users(request, user_profile): @has_request_variables def send_message_backend(request, user_profile, client_name, message_type_name = POST('type'), - message_to = POST('to'), + message_to_raw = POST('to'), message_content = POST('content')): forged = "forged" in request.POST is_super_user = is_super_user_api(request) @@ -536,7 +536,13 @@ def send_message_backend(request, user_profile, client_name, if message_type_name == 'stream': if "subject" not in request.POST: return json_error("Missing subject") - stream_name = message_to.strip() + try: + message_to = simplejson.loads(message_to_raw) + except simplejson.decoder.JSONDecodeError: + message_to = [message_to_raw] + if len(message_to) != 1: + return json_error("Cannot send to multiple streams") + stream_name = message_to[0].strip() subject_name = request.POST['subject'].strip() if stream_name == "": return json_error("Stream can't be empty")