def remove_comment_reply(request): code = 1 feed_id = int(request.POST['story_feed_id']) story_id = request.POST['story_id'] comment_user_id = request.POST['comment_user_id'] reply_id = request.POST.get('reply_id') format = request.REQUEST.get('format', 'json') original_message = None shared_story = MSharedStory.objects.get(user_id=comment_user_id, story_feed_id=feed_id, story_guid=story_id) replies = [] for story_reply in shared_story.replies: if ((story_reply.user_id == request.user.pk or request.user.is_staff) and story_reply.reply_id == ObjectId(reply_id)): original_message = story_reply.comments # Skip reply else: replies.append(story_reply) shared_story.replies = replies shared_story.save() logging.user(request, "~FCRemoving comment reply in ~FM%s: ~SB~FB%s~FM" % ( shared_story.story_title[:20], original_message and original_message[:30])) comment, profiles = shared_story.comment_with_author_and_profiles() # Interaction for every other replier and original commenter MActivity.remove_comment_reply(user_id=request.user.pk, comment_user_id=comment['user_id'], reply_content=original_message, story_id=story_id, story_feed_id=feed_id) MInteraction.remove_comment_reply(user_id=comment['user_id'], reply_user_id=request.user.pk, reply_content=original_message, story_id=story_id, story_feed_id=feed_id) reply_user_ids = [reply['user_id'] for reply in comment['replies']] for user_id in set(reply_user_ids).difference([comment['user_id']]): if request.user.pk != user_id: MInteraction.remove_reply_reply(user_id=user_id, comment_user_id=comment['user_id'], reply_user_id=request.user.pk, reply_content=original_message, story_id=story_id, story_feed_id=feed_id) if format == 'html': comment = MSharedStory.attach_users_to_comment(comment, profiles) return render_to_response('social/story_comment.xhtml', { 'comment': comment, }, context_instance=RequestContext(request)) else: return json.json_response(request, { 'code': code, 'comment': comment, 'user_profiles': profiles })
def remove_comment_reply(request): code = 1 feed_id = int(request.POST["story_feed_id"]) story_id = request.POST["story_id"] comment_user_id = request.POST["comment_user_id"] reply_id = request.POST.get("reply_id") format = request.REQUEST.get("format", "json") original_message = None shared_story = MSharedStory.objects.get(user_id=comment_user_id, story_feed_id=feed_id, story_guid=story_id) replies = [] for story_reply in shared_story.replies: if (story_reply.user_id == request.user.pk or request.user.is_staff) and story_reply.reply_id == ObjectId( reply_id ): original_message = story_reply.comments # Skip reply else: replies.append(story_reply) shared_story.replies = replies shared_story.save() logging.user( request, "~FCRemoving comment reply in ~FM%s: ~SB~FB%s~FM" % (shared_story.story_title[:20], original_message and original_message[:30]), ) comment, profiles = shared_story.comment_with_author_and_profiles() # Interaction for every other replier and original commenter MActivity.remove_comment_reply( user_id=request.user.pk, comment_user_id=comment["user_id"], reply_content=original_message, story_id=story_id, story_feed_id=feed_id, ) MInteraction.remove_comment_reply( user_id=comment["user_id"], reply_user_id=request.user.pk, reply_content=original_message, story_id=story_id, story_feed_id=feed_id, ) reply_user_ids = [reply["user_id"] for reply in comment["replies"]] for user_id in set(reply_user_ids).difference([comment["user_id"]]): if request.user.pk != user_id: MInteraction.remove_reply_reply( user_id=user_id, comment_user_id=comment["user_id"], reply_user_id=request.user.pk, reply_content=original_message, story_id=story_id, story_feed_id=feed_id, ) if format == "html": comment = MSharedStory.attach_users_to_comment(comment, profiles) return render_to_response( "social/story_comment.xhtml", {"comment": comment}, context_instance=RequestContext(request) ) else: return json.json_response(request, {"code": code, "comment": comment, "user_profiles": profiles})