def get_context_data(self, **kwargs): context_data = super(TutorListView, self).get_context_data(**kwargs) group = self.kwargs.get("group") if group is None: tutors = Tutor.members(self.request.year) best = TutorGroup.objects.get(handle="best", year=self.request.year) leader = best.leader else: tg = get_object_or_404(TutorGroup, handle=group, year=self.request.year) tutors = Tutor.group_members(tg) leader = tg.leader leader_pk = leader.pk if leader else 0 def make_tutor_dict(t): return { "pk": t.pk, "studentnumber": t.profile.studentnumber, "picture": t.profile.picture.url if t.profile.picture else "", "full_name": t.profile.get_full_name(), "street": t.profile.street, "city": t.profile.city, "phone": t.profile.phone, "email": t.profile.email, "study": t.profile.study, } tutors = [make_tutor_dict(t) for t in tutors] if group == "tutorsmiley" and self.request.year in [2015]: tutors.append( { "pk": ":)", "studentnumber": "88888888", "picture": "/upload/tutorpics/smiley.png", "full_name": "Smiley", "street": "Skovbrynet 5", "city": "Smilets By", "phone": "88888888", "email": "SMILEY@SMILEY.☺", "study": "Smil", } ) tutors.sort(key=lambda t: (t["pk"] != leader_pk, t["full_name"])) groups = TutorGroup.visible_groups.all() context_data["group"] = group context_data["tutor_list"] = tutors context_data["groups"] = groups context_data["tutor_count"] = len(tutors) context_data["leader_pk"] = leader_pk if leader_pk: try: context_data["leader"] = next(t for t in tutors if t["pk"] == leader_pk) except StopIteration: # leader is not in tutors context_data["leader"] = make_tutor_dict(Tutor.objects.get(pk=leader_pk)) return context_data
def get_context_data(self, **kwargs): context_data = super(TutorListView, self).get_context_data(**kwargs) group = self.kwargs.get('group') if group is None: tutors = Tutor.members(self.request.year) best = TutorGroup.objects.get(handle='best', year=self.request.year) leader = best.leader else: tg = get_object_or_404(TutorGroup, handle=group, year=self.request.year) tutors = Tutor.group_members(tg) leader = tg.leader leader_pk = leader.pk if leader else 0 def make_tutor_dict(t): return { 'pk': t.pk, 'studentnumber': t.profile.studentnumber, 'picture': t.profile.picture, 'full_name': t.profile.get_full_name(), 'street': t.profile.street, 'city': t.profile.city, 'phone': t.profile.phone, 'email': t.profile.email, 'study': t.profile.study, 'nickname': t.profile.nickname, } tutors = [make_tutor_dict(t) for t in tutors] if group == 'tutorsmiley' and self.request.year in [2015]: tutors.append({ 'pk': ':)', 'studentnumber': '88888888', 'picture': None, 'full_name': 'Smiley', 'street': 'Skovbrynet 5', 'city': 'Smilets By', 'phone': '88888888', 'email': 'SMILEY@SMILEY.☺', 'study': 'Smil', }) tutors.sort(key=lambda t: (t['pk'] != leader_pk, t['full_name'])) groups = TutorGroup.visible_groups.all() context_data['group'] = group context_data['tutor_list'] = tutors context_data['groups'] = groups context_data['tutor_count'] = len(tutors) context_data['leader_pk'] = leader_pk if leader_pk: try: context_data['leader'] = next(t for t in tutors if t['pk'] == leader_pk) except StopIteration: # leader is not in tutors context_data['leader'] = make_tutor_dict( Tutor.objects.get(pk=leader_pk)) return context_data
def get_context_data(self, **kwargs): context_data = super(TutorListView, self).get_context_data(**kwargs) group = self.kwargs.get('group') if group is None: tutors = Tutor.members(self.request.year) best = TutorGroup.objects.get( handle='best', year=self.request.year) leader = best.leader else: tg = get_object_or_404( TutorGroup, handle=group, year=self.request.year) tutors = Tutor.group_members(tg) leader = tg.leader leader_pk = leader.pk if leader else 0 def make_tutor_dict(t): return { 'pk': t.pk, 'studentnumber': t.profile.studentnumber, 'picture': t.profile.picture, 'full_name': t.profile.get_full_name(), 'street': t.profile.street, 'city': t.profile.city, 'phone': t.profile.phone, 'email': t.profile.email, 'study': t.profile.study, 'nickname': t.profile.nickname, } tutors = [make_tutor_dict(t) for t in tutors] if group == 'tutorsmiley' and self.request.year in [2015]: tutors.append({ 'pk': ':)', 'studentnumber': '88888888', 'picture': None, 'full_name': 'Smiley', 'street': 'Skovbrynet 5', 'city': 'Smilets By', 'phone': '88888888', 'email': 'SMILEY@SMILEY.☺', 'study': 'Smil', }) tutors.sort(key=lambda t: (t['pk'] != leader_pk, t['full_name'])) groups = TutorGroup.visible_groups.all() context_data['group'] = group context_data['tutor_list'] = tutors context_data['groups'] = groups context_data['tutor_count'] = len(tutors) context_data['leader_pk'] = leader_pk if leader_pk: try: context_data['leader'] = next( t for t in tutors if t['pk'] == leader_pk ) except StopIteration: # leader is not in tutors context_data['leader'] = make_tutor_dict( Tutor.objects.get(pk=leader_pk)) return context_data