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) 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) flagattr = getattr(UserMessage.flags, flag)
if all: if all:

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import
from django.core.management.base import BaseCommand 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 from zerver.models import UserProfile, Message, get_user_profile_by_email
class Command(BaseCommand): 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,) print "e-mail %s doesn't exist in the system, skipping" % (email,)
continue continue
update_message_flags(user_profile, "add", "read", None, True) do_update_message_flags(user_profile, "add", "read", None, True)
messages = Message.objects.filter( messages = Message.objects.filter(
usermessage__user_profile=user_profile).order_by('-id')[:1] 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 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 from zerver.models import UserProfile, Message, get_user_profile_by_email
import datetime import datetime
import time 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_send_confirmation_email, do_activate_user, do_create_user, check_send_message, \
do_change_subscription_property, internal_send_message, \ do_change_subscription_property, internal_send_message, \
create_stream_if_needed, gather_subscriptions, subscribed_to_stream, \ 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, \ recipient_for_emails, extract_recipients, do_events_register, \
get_status_dict, do_change_enable_offline_email_notifications, \ get_status_dict, do_change_enable_offline_email_notifications, \
do_update_onboarding_steps, do_update_message, internal_prep_message, \ 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) return json_success(result)
@authenticated_json_post_view @authenticated_json_post_view
def json_update_flags(request, user_profile):
return update_message_flags(request, user_profile);
@has_request_variables @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'), operation=REQ('op'), flag=REQ('flag'),
all=REQ('all', converter=json_to_bool, default=False)): 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', return json_success({'result': 'success',
'messages': messages, 'messages': messages,
'msg': ''}) 'msg': ''})

View File

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