def fork_group(lti=lti): ''' Adds a group to a course''' # Get arguments assignment_group_id = int(request.values.get('assignment_group_id')) assignment_group = AssignmentGroup.by_id(assignment_group_id) is_embedded = ('embed' == request.values.get('menu', "select")) # Verify exists check_resource_exists(assignment_group, "Assignment Group", assignment_group_id) # Verify permissions require_course_instructor(g.user, assignment_group.course_id) # Perform action new_assignment_group = AssignmentGroup.new( owner_id=g.user.id, course_id=assignment_group.course_id, name=assignment_group.name) new_assignment_group.forked_id = assignment_group_id new_assignment_group.forked_version = assignment_group.version # Result select_url = get_select_menu_link(new_assignment_group.id, new_assignment_group.name, is_embedded, True) return jsonify(success=True, id=new_assignment_group.id, name=new_assignment_group.name, select=select_url)
def add_group(lti=lti): ''' Adds a group to a course''' # Get arguments course_id = int(request.values.get('course_id')) new_name = request.values.get('name') new_url = request.values.get('url') is_embedded = ('embed' == request.values.get('menu', "select")) # Verify permissions require_course_instructor(g.user, course_id) # Perform action assignment_group = AssignmentGroup.new(owner_id=g.user.id, course_id=course_id, name=new_name, url=new_url) # Result select_url = get_select_menu_link(assignment_group.id, assignment_group.name, is_embedded, True) return jsonify(success=True, id=assignment_group.id, url=assignment_group.url, name=assignment_group.name, select=select_url)
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()