Add a messages/flags POST api call to change a message's flags

(imported from commit b51ebd94c99f57f1cda19039023013209556e343)
This commit is contained in:
Leo Franchi
2013-08-08 14:38:24 -04:00
parent f8b7b54626
commit 8484cac5c9
5 changed files with 11 additions and 7 deletions

View File

@@ -904,7 +904,7 @@ def update_user_presence(user_profile, client, log_time, status):
queue_json_publish("user_activity", event, process_user_presence_event)
def update_message_flags(user_profile, operation, flag, messages, all):
def do_update_message_flags(user_profile, operation, flag, messages, all):
flagattr = getattr(UserMessage.flags, flag)
if all:

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import
from django.core.management.base import BaseCommand
from zerver.lib.actions import update_message_flags
from zerver.lib.actions import do_update_message_flags
from zerver.models import UserProfile, Message, get_user_profile_by_email
class Command(BaseCommand):
@@ -22,7 +22,7 @@ Usage: python manage.py bankrupt_users <list of email addresses>"""
print "e-mail %s doesn't exist in the system, skipping" % (email,)
continue
update_message_flags(user_profile, "add", "read", None, True)
do_update_message_flags(user_profile, "add", "read", None, True)
messages = Message.objects.filter(
usermessage__user_profile=user_profile).order_by('-id')[:1]

View File

@@ -2,7 +2,6 @@ from __future__ import absolute_import
from django.core.management.base import BaseCommand
from zerver.lib.actions import update_message_flags
from zerver.models import UserProfile, Message, get_user_profile_by_email
import datetime
import time

View File

@@ -29,7 +29,7 @@ from zerver.lib.actions import do_remove_subscription, bulk_remove_subscriptions
do_send_confirmation_email, do_activate_user, do_create_user, check_send_message, \
do_change_subscription_property, internal_send_message, \
create_stream_if_needed, gather_subscriptions, subscribed_to_stream, \
update_user_presence, bulk_add_subscriptions, update_message_flags, \
update_user_presence, bulk_add_subscriptions, do_update_message_flags, \
recipient_for_emails, extract_recipients, do_events_register, \
get_status_dict, do_change_enable_offline_email_notifications, \
do_update_onboarding_steps, do_update_message, internal_prep_message, \
@@ -1106,11 +1106,14 @@ def get_profile_backend(request, user_profile):
return json_success(result)
@authenticated_json_post_view
def json_update_flags(request, user_profile):
return update_message_flags(request, user_profile);
@has_request_variables
def json_update_flags(request, user_profile, messages=REQ('messages', converter=json_to_list),
def update_message_flags(request, user_profile, messages=REQ('messages', converter=json_to_list),
operation=REQ('op'), flag=REQ('flag'),
all=REQ('all', converter=json_to_bool, default=False)):
update_message_flags(user_profile, operation, flag, messages, all)
do_update_message_flags(user_profile, operation, flag, messages, all)
return json_success({'result': 'success',
'messages': messages,
'msg': ''})

View File

@@ -153,6 +153,8 @@ v1_api_and_json_patterns = patterns('zerver.views',
'POST': 'send_message_backend'}),
url(r'^messages/render$', 'rest_dispatch',
{'GET': 'render_message_backend'}),
url(r'^messages/flags$', 'rest_dispatch',
{'POST': 'update_message_flags'}),
url(r'^streams$', 'rest_dispatch',
{'GET': 'get_public_streams_backend'}),
# GET returns "stream info" (undefined currently?), HEAD returns whether stream exists (200 or 404)