예제 #1
0
def new_assignment(lti=lti):
    # Get arguments
    course_id = int(request.values.get('course_id'))
    name = request.values.get('name', None) or None
    url = request.values.get('url', None) or None
    level = request.values.get('level', None) or None
    is_embedded = ('embed' == request.values.get('menu', "select"))
    assignment_type = request.values.get('type', "blockpy")
    # Verify permissions
    require_course_instructor(g.user, course_id)
    # Perform action
    assignment = Assignment.new(owner_id=g.user.id,
                                course_id=course_id,
                                url=url,
                                type=assignment_type,
                                name=name,
                                level=level)
    select_url = get_select_menu_link(assignment.id, assignment.title(),
                                      is_embedded, False)
    return jsonify(success=True,
                   redirect=url_for('assignments.load',
                                    assignment_id=assignment.id),
                   id=assignment.id,
                   url=url,
                   name=assignment.name,
                   type=assignment_type,
                   instructions=strip_tags(assignment.instructions)[:255],
                   title=assignment.title(),
                   view=url_for('assignments.load',
                                assignment_id=assignment.id,
                                embed=is_embedded),
                   select=select_url,
                   edit=url_for('assignments.load',
                                assignment_id=assignment.id,
                                course_id=assignment.course_id),
                   date_modified=assignment.pretty_date_modified())
예제 #2
0
    def run(self, owner_id, **kwargs):
        from models.user import User
        from models.course import Course
        from models.role import Role
        from models.assignment import Assignment
        from models.assignment_group import AssignmentGroup
        from models.assignment_group_membership import AssignmentGroupMembership

        owner_id = int(owner_id)
        maze_course = Course.new('Maze Course', owner_id, 'public')

        maze_group = AssignmentGroup.new(owner_id, maze_course.id, "Maze Game")

        for level in range(10):
            maze_level = Assignment.new(owner_id,
                                        maze_course.id,
                                        'maze',
                                        level=str(1 + level))
            db.session.add(maze_level)
            db.session.flush()
            membership = AssignmentGroupMembership.move_assignment(
                maze_level.id, maze_group.id)
            db.session.add(membership)
        db.session.commit()