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