Пример #1
0
def _get_next_mod(id):
    m = get_module(id)
    if m:
        parent = m.parent
        child = get_child_by_serial(parent, m.serial+1)
        if not child:
            return get_module(parent)
        return child
    return None
Пример #2
0
def create_course_progress(courseId, userId):
    course = get_module(courseId)
    expireDays = get_expiry_by_id(courseId)
    if expireDays:
        dt = add_days(_get_now(), expireDays)
    else:
        dt = add_years(_get_now())
    cp = CourseProgress(module_id=courseId,
                        user_id=userId,
                        expires_at=dt,
                        completed_segments=0)
    _update_course_enroll(courseId)
    db.session.add(cp)
    commit()
Пример #3
0
def _get_status(id, userId):
    m = get_module(id)
    if m:
        if m.type=='quiz':
            return get_quiz_progress(m.id, userId)
        elif m.type=='video':
            return get_video_progress(m.id, userId)
        elif m.type=='lecture':
            return get_lecture_progress(m.id, userId)
        elif m.type=='segment':
            return get_or_create_segment_progress(m.id, m.parent, userId)
        elif m.type=='course':
            return get_course_progress(m.id, userId)
    return None
Пример #4
0
def _update_course_progress(courseId, userId, userName, segmentDelta,
                            totalDelta, scoreDelta):
    courseProgress = get_course_progress(courseId, userId)
    courseProgress.completed_segments += segmentDelta
    courseProgress.total_points += totalDelta
    courseProgress.scored_points += scoreDelta

    totalSegments = get_total_children(courseId)
    if totalSegments <= courseProgress.completed_segments:
        courseData = get_course_data(courseId)
        awardedPercent = (courseProgress.scored_points /
                          courseProgress.total_points) * 100.00
        courseProgress.completed_at = _get_now()
        courseProgress.is_complete = True
        if awardedPercent >= courseData.pass_percent - 0.1:
            course = get_module(courseId)
            rt = create_certificate_pending(courseId, userId, course.name,
                                            userName,
                                            courseProgress.completed_at,
                                            courseProgress.scored_points,
                                            courseProgress.total_points)
            print(rt)
        _update_course_student_finish(courseId)
Пример #5
0
def _get_prev_mod(id):
    m = get_module(id)
    if m:
        parent = m.parent
        return get_child_by_serial(parent, m.serial-1)
Пример #6
0
def _get_type(id):
    m = get_module(id)
    if m:
        return m.type
    return None
Пример #7
0
def _get_module(id):
    return get_module(id)