Exemple #1
0
def lesson_detail(request, lesson_id):
    lesson = get_record_by_id(lesson_id, Lesson)
    nest_teachers = get_boolean_query_param(request, 'nest-teachers')
    nest_students = get_boolean_query_param(request, 'nest-students')
    nest_subject = get_boolean_query_param(request, 'nest-subject')
    nest_homework = get_boolean_query_param(request, 'nest-homework')
    return jsonify({
        'success':
        True,
        'lesson':
        lesson.to_dict(nest_homework=nest_homework,
                       nest_teachers=nest_teachers,
                       nest_students=nest_students,
                       nest_subject=nest_subject)
    })
Exemple #2
0
def lessons_taught(request):
    lesson_ids = [
        l.lesson_id
        for l in LessonTeacher.query.filter_by(user_id=g.user.id).all()
    ]
    lessons = Lesson.query.filter(Lesson.id.in_(lesson_ids))

    nest_teachers = get_boolean_query_param(request, 'nest-teachers')
    nest_students = get_boolean_query_param(request, 'nest-students')
    nest_subject = get_boolean_query_param(request, 'nest-subject')
    lessons = [
        lesson.to_dict(nest_teachers=nest_teachers,
                       nest_students=nest_students,
                       nest_subject=nest_subject) for lesson in lessons
    ]
    return jsonify({'success': True, 'lessons': lessons})
Exemple #3
0
def current_user_details(request):
    nest_permissions = get_boolean_query_param(request, 'nest-permissions')

    user = get_record_by_id(g.user.id, User)

    user_dict = user.to_dict(nest_permissions=nest_permissions)
    return jsonify({'success': True, 'user': user_dict})
Exemple #4
0
def user_listing(request):
    # Query database and get users in same school
    users = User.query.filter_by(school_id=g.user.school_id)

    # Get parameters from query string
    nest_permissions = get_boolean_query_param(request, 'nest-permissions')
    nest_forms = get_boolean_query_param(request, 'nest-forms')

    ids = request.args.get('ids')
    if ids is not None:
        str_ids = ids.split(",")
        users = users.filter(User.id.in_(str_ids))

    # Create a list containing each user as a dictionary
    users_list = [
        u.to_dict(nest_permissions=nest_permissions, nest_form=nest_forms)
        for u in users
    ]

    # Return as JSON
    return jsonify({'success': True, 'users': users_list})
Exemple #5
0
def user_detail(request, user_id):
    # Get user by id
    user = get_record_by_id(user_id, User)

    # Get query params
    nest_permissions = get_boolean_query_param(request, 'nest-permissions')

    # Return user
    return jsonify({
        'success': True,
        "user": user.to_dict(nest_permissions=nest_permissions)
    })
Exemple #6
0
def homework_due_summary():
    params = {'student_ids': g.user.id}
    resp = services.lesson.get('lessons/lesson', params=params, headers=g.user.headers_dict())
    if resp.status_code != 200:
        raise CustomError(
            **resp.json()
        )

    lesson_ids = [l['id'] for l in resp.json()['lessons']]
    homework = Homework.query.filter(Homework.lesson_id.in_(lesson_ids))
    nest_lessons = get_boolean_query_param(request, 'nest-lessons')
    homework_list = [h.to_dict(date_as_string=True, nest_lesson=nest_lessons, has_submitted=True, user_id=g.user.id) for h in homework]

    return jsonify({'success': True, 'homework': homework_list, 'lessons': resp.url, 'lesson_ids': lesson_ids})