From 89e6f347cdd2660d32b941edab847f7bc4dea9a8 Mon Sep 17 00:00:00 2001 From: Tanshu Date: Thu, 20 Jun 2013 19:02:51 +0530 Subject: [PATCH] Updating subscribers of threads now works. --- brewman/brewman/views/messaging.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/brewman/brewman/views/messaging.py b/brewman/brewman/views/messaging.py index 03f6bdc6..8f382a5a 100644 --- a/brewman/brewman/views/messaging.py +++ b/brewman/brewman/views/messaging.py @@ -100,8 +100,20 @@ def update(request): post = Post(content=item['Content'].strip(), date=dt, user_id=user_id) thread.posts.append(post) DBSession.add(post) - for subscriber in thread.subscribers: - subscriber.read = False + + newSubscribers = request.json_body['Subscribers'] + for i in range(len(thread.subscribers), 0, -1): + subscriber = thread.subscribers[i - 1] + if subscriber.user.name not in newSubscribers: + thread.subscribers.remove(subscriber) + else: + newSubscribers.remove(subscriber.name) + subscriber.read = False + for j in newSubscribers: + subscriber = Subscriber(user_id=User.by_name(j).id, read=False) + thread.subscribers.append(subscriber) + DBSession.add(subscriber) + transaction.commit() return thread_info(thread.id)