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())
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()