Ejemplo n.º 1
0
def classes_next(request, school_id):
    nextlink = request.GET.get('nextLink')
    user = AuthService.get_current_user(request)
    token = token_service.get_access_token(constant.Resources.MSGraph, user.o365_user_id)

    education_service = EducationService(user.tenant_id, token)
    #school = education_service.get_school(school_id)
    my_classes = education_service.get_my_classes(school_id)
    all_classes, classnextlink = education_service.get_classes(school_id, top=12, nextlink=nextlink)

    for c in all_classes:
        my_class = next((mc for mc in my_classes if c.id == mc.id), None)
        c.custom_data['is_my'] = my_class != None
        if my_class != None:
            c.members = my_class.members

    # my_section_list = [m.to_dict() for m in my_classes]

    ajax_result = {}
    ajax_result['classes'] = {}
    ajax_result['classes']['value'] = [{
          'id': c.id,
          'is_my': c.custom_data['is_my'],
          'display_name': c.display_name,
          'code': c.code,
          'teachers': [{ 'display_name': t.display_name } for t in c.teachers],
          'term_name': c.term.display_name,
          'term_start_time': c.term.start_date,
          'term_end_time': c.term.end_date } for c in all_classes]
    ajax_result['classes']['next_link'] = classnextlink
    # ajax_result['MyClasss'] = my_section_list

    return JsonResponse(ajax_result, safe=False)
Ejemplo n.º 2
0
def aboutme(request):
    user = AuthService.get_current_user(request)
    
    context = { 'user': user }
    login_as =""
    if user.local_user.is_authenticated:
        context['show_color'] = user.local_user.is_authenticated
        context['colors'] = constant.favorite_colors        
        context['favorite_color'] = user_service.get_favorite_color(user.user_id)
    if user.is_admin:
        login_as ="Admin"
    if not user.is_admin and user.o365_user is not None:
        token = token_service.get_access_token(constant.Resources.MSGraph, user.o365_user_id)        
        education_service = EducationService(user.tenant_id, token)            
        me = education_service.get_me() 
        my_school_id = me.schools[0].id
        
        if me.is_teacher:
            login_as="Teacher"
        if me.is_student:
            login_as="Student"
        
        context['me'] = me
        context['groups'] = education_service.get_my_classes(my_school_id)
    else:
        context['groups'] = []
    context['login_as'] = login_as
    context['role']=login_as
    return render(request, 'managements/aboutme.html', context)
Ejemplo n.º 3
0
def classes(request, school_id):
    user = AuthService.get_current_user(request)
    token = token_service.get_access_token(constant.Resources.MSGraph, user.o365_user_id)
    education_service = EducationService(user.tenant_id, token)
    me = education_service.get_me()
    role = get_user_role(user, me)
    education_service = EducationService(user.tenant_id, token)
    school = education_service.get_school(school_id)
    my_classes = education_service.get_my_classes(school_id)
    all_classes, classesnextlink = education_service.get_classes(school_id, 12)

    for c in all_classes:
        my_class = next((mc for mc in my_classes if c.id == mc.id), None)
        c.custom_data['is_my'] = my_class != None
        if my_class != None:
            c.members = my_class.members

    context = {
        'user': user,
        'school': school,
        'classesnextlink': classesnextlink,
        'classes': all_classes,
        'myclasses': my_classes,
        'school_id': school_id,
        'is_in_a_school': True,
        'me': me,
        'role':role
    }
    return render(request, 'schools/classes.html', context)