def post(self): payload = json.loads(self.request.body) user_id = payload['user_id'] references = feedback_services.get_feedback_message_references(user_id) if not references: # Model may not exist if user has already attended to the feedback. return feedback_services.update_feedback_email_retries_transactional(user_id) messages = {} for reference in references: message = feedback_services.get_message(reference.thread_id, reference.message_id) exploration = exp_fetchers.get_exploration_by_id( reference.entity_id) message_text = message.text if len(message_text) > 200: message_text = message_text[:200] + '...' if exploration.id in messages: messages[exploration.id]['messages'].append(message_text) else: messages[exploration.id] = { 'title': exploration.title, 'messages': [message_text] } email_manager.send_feedback_message_email(user_id, messages) feedback_services.pop_feedback_message_references_transactional( user_id, len(references)) self.render_json({})
def post(self): payload = json.loads(self.request.body) user_id = payload["user_id"] references = feedback_services.get_feedback_message_references(user_id) if not references: # Model may not exist if user has already attended to the feedback. return transaction_services.run_in_transaction(feedback_services.update_feedback_email_retries, user_id) messages = {} for reference in references: message = feedback_services.get_message(reference.exploration_id, reference.thread_id, reference.message_id) exploration = exp_services.get_exploration_by_id(reference.exploration_id) message_text = message.text if len(message_text) > 200: message_text = message_text[:200] + "..." if exploration.id in messages: messages[exploration.id]["messages"].append(message_text) else: messages[exploration.id] = {"title": exploration.title, "messages": [message_text]} email_manager.send_feedback_message_email(user_id, messages) transaction_services.run_in_transaction( feedback_services.pop_feedback_message_references, user_id, len(references) )