예제 #1
0
파일: tasks.py 프로젝트: sajalasati/oppia
    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({})
예제 #2
0
파일: tasks.py 프로젝트: kevinlee12/oppia
    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)
        )