Exemple #1
0
    def post(self, course_uuid, assignment_uuid):
        course = Course.get_active_by_uuid_or_404(course_uuid)
        assignment = Assignment.get_active_by_uuid_or_404(assignment_uuid)
        require(
            CREATE,
            AssignmentComment(course_id=course.id),
            title="Help Comment Not Saved",
            message=
            "Help comments can be saved only by those enrolled in the course. Please double-check your enrollment in this course."
        )

        new_assignment_comment = AssignmentComment(assignment_id=assignment.id)

        params = new_assignment_comment_parser.parse_args()

        new_assignment_comment.content = params.get("content")
        if not new_assignment_comment.content:
            abort(
                400,
                title="Help Comment Not Saved",
                message=
                "Please provide content in the text editor and try saving again."
            )

        new_assignment_comment.user_id = current_user.id

        db.session.add(new_assignment_comment)
        db.session.commit()

        on_assignment_comment_create.send(
            self,
            event_name=on_assignment_comment_create.name,
            user=current_user,
            course_id=course.id,
            assignment_comment=new_assignment_comment,
            data=marshal(new_assignment_comment,
                         dataformat.get_assignment_comment(False)))

        return marshal(new_assignment_comment,
                       dataformat.get_assignment_comment())