def post(self, current_user, research): forum = Forum(creator_key=current_user.key, research_key=research.key, status=StatusType.ACTIVE, subject=request.json['subject']) forum_key = forum.put() current_user.created_forums += 1 current_user.put() return created(ForumIdJson(forum_key))
def wrapper(*args, **kwargs): if 'forum_id' not in kwargs: return bad_request('To use insert_forum wrapper forum_id must be in url.') _id = kwargs['forum_id'] forum = Forum.get(int(_id)) if forum is None: return forum_not_found(_id) del kwargs['forum_id'] kwargs['forum'] = forum return func(*args, **kwargs)
def delete(self, research, current_user): research.status = StatusType.DELETED research.put() forums = Forum.by_research2(research.key) for forum in forums: forum.status = StatusType.DELETED forum.put() messages = Message.by_forum2(forum.key) for message in messages: message.status = StatusType.DELETED message.put() ResearchIndex(research).delete() return ok_msg('Research is deleted.')
def get(self, current_user, research): cursor = request.args.get('cursor') forums, cursor, _ = Forum.by_research(research.key, cursor) return ok(ListForumsJson(forums, cursor))
def update_forums_status(user, status): forums = Forum.by_creator2(user.key) for forum in forums: forum.status = status forum.put()
def get(self, current_user, user): cursor = request.args.get('cursor') forums, cursor, _ = Forum.by_creator(user.key, cursor) return ok(ListForumsJson(forums, cursor))