예제 #1
0
def new_assignment(lti=lti):
    user, roles, course = ensure_canvas_arguments()
    menu = request.values.get('menu', "select")
    if not User.is_lti_instructor(roles):
        return "You are not an instructor in this course."
    assignment = Assignment.new(owner_id=user.id, course_id=course.id)
    launch_type = 'lti_launch_url' if menu != 'share' else 'iframe'
    endpoint = 'lti_assignments.index' if menu != 'share' else 'lti_assignments.shared'
    return jsonify(
        success=True,
        redirect=url_for('lti_assignments.edit_assignment',
                         assignment_id=assignment.id),
        id=assignment.id,
        name=assignment.name,
        body=strip_tags(assignment.body)[:255],
        title=assignment.title(),
        select=url_quote(
            url_for(endpoint, assignment_id=assignment.id, _external=True)) +
        "&return_type=" + launch_type + "&title=" +
        url_quote(assignment.title()) +
        "&text=BlockPy%20Exercise&width=100%25&height=600",
        edit=url_for('lti_assignments.edit_assignment',
                     assignment_id=assignment.id),
        date_modified=assignment.date_modified.strftime(
            " %I:%M%p on %a %d, %b %Y").replace(" 0", " "))
예제 #2
0
파일: lti.py 프로젝트: scareface972/blockpy
def new_assignment(lti=lti):
    user, roles, course = ensure_canvas_arguments()
    menu = request.values.get('menu', "select")
    if not User.is_lti_instructor(roles):
        return "You are not an instructor in this course."
    assignment = Assignment.new(owner_id=user.id, course_id=course.id)
    launch_type = 'lti_launch_url' if menu != 'share' else 'iframe'
    endpoint = 'lti_assignments.index' if menu != 'share' else 'lti_assignments.shared'
    return jsonify(success=True,
                   redirect=url_for('lti_assignments.edit_assignment', assignment_id=assignment.id),
                   id= assignment.id,
                   name= assignment.name,
                   body= strip_tags(assignment.body)[:255],
                   title= assignment.title(),
                   select = url_quote(url_for(endpoint, assignment_id=assignment.id, _external=True))+"&return_type="+launch_type+"&title="+url_quote(assignment.title())+"&text=BlockPy%20Exercise&width=100%25&height=600",
                   edit= url_for('lti_assignments.edit_assignment', assignment_id=assignment.id),
                   date_modified = assignment.date_modified.strftime(" %I:%M%p on %a %d, %b %Y").replace(" 0", " "))
예제 #3
0
def new_assignment(course_id, lti=lti):
    name = request.values.get('name', None) or None
    level = request.values.get('level', None) or None
    menu = request.values.get('menu', "select")
    #TODO: change "normal" type to "blockpy"
    type = request.values.get('type', "normal")
    
    assignment = Assignment.new(owner_id=g.user.id, course_id=course_id, type=type, name=name, level=level)
    launch_type = 'lti_launch_url' if menu != 'embed' else 'iframe'
    endpoint = 'assignments.load'
    return jsonify(success=True,
                   redirect=url_for('assignments.load', assignment_id=assignment.id),
                   id= assignment.id,
                   name= assignment.name,
                   type= type,
                   body= strip_tags(assignment.body)[:255],
                   title= assignment.title(),
                   view = url_for('assignments.load', assignment_id=assignment.id,  embed= menu == 'embed'),
                   select = url_quote(url_for(endpoint, assignment_id=assignment.id, _external=True, embed= menu == 'embed'))+"&return_type="+launch_type+"&title="+url_quote(assignment.title())+"&text=BlockPy%20Exercise&width=100%25&height=600",
                   edit= url_for('assignments.load', assignment_id=assignment.id, course_id=assignment.course_id),
                   date_modified = assignment.date_modified.strftime(" %I:%M%p on %a %d, %b %Y").replace(" 0", " "))