def post(self, current_user, forum): message = Message( creator_key=current_user.key, forum_key=forum.key, status=StatusType.ACTIVE, text=request.json['message']) message_key = message.put() current_user.posted_messages += 1 current_user.put() add_task(message_key.id()) return created(MessageIdJson(message_key))
def wrapper(*args, **kwargs): if 'message_id' not in kwargs: return bad_request('To use insert_message wrapper message_id must be in url.') _id = kwargs['message_id'] message = Message.get(int(_id)) if message is None: return message_not_found(_id) del kwargs['message_id'] kwargs['message'] = message 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 post(self): message_id = int(request.json['message_id']) message = Message.get(message_id) message_creator_key = message.creator_key message_creator = message_creator_key.get() forum = message.forum_key.get() research = forum.research_key.get() for researcher_key in research.researchers_keys: if researcher_key != message_creator_key: researcher = researcher_key.get() subj = NewMessageSubj(forum.subject, research.title) body = NewMessage(researcher.name, message_creator.name, forum.subject, message.text, research.key.id(), forum.key.id()) send_email(subj, body, researcher.email) return ok_msg('Notification sent.')
def get(self, current_user, forum): cursor = request.args.get('cursor') messages, cursor, _ = Message.by_forum(forum.key, cursor) return ok(ListMessagesJson(messages, cursor))
def update_messages_status(user, status): messages = Message.by_creator2(user.key) for message in messages: message.status = status message.put()
def get(self, current_user, user): cursor = request.args.get('cursor') messages, cursor, _ = Message.by_creator(user.key, cursor) return ok(ListMessagesJson(messages, cursor))