def person_info(request): search = request.GET.get("person_info_search", None) if not search: return HttpResponseBadRequest("person_info_search is required") o = lib.codeSearch(search) person = lib.autoPerson(o) if not person: return HttpResponseNotFound("Person not found for %s" % search) templateVars = {} templateVars["person"] = person registrations = list(person.registration_set.all()) registrations.sort(key=lambda x: lib.registrationCardCodeKey(x.registration_session.card_code)) registrations.reverse() templateVars["registrations"] = registrations allLists = List.objects.filter(people=person).order_by('name') entryLists = allLists.filter(list_type='entry_list') adminLists = allLists.filter(list_type='admin_list') queryLists = [] for q in QueryList.objects.all(): if person in q.people: queryLists.append(q) queryLists.sort(key=lambda q: q.name) templateVars["entry_lists"] = entryLists templateVars["admin_lists"] = adminLists templateVars["query_lists"] = queryLists return render(request, 'dashboard_person_info.html', templateVars)
def index(request): managedLists = {} for l in List.objects.exclude(list_type__in=['admin_list', 'entry_list']): listType = l.get_list_type_display() if listType not in managedLists: managedLists[listType] = {} print (l) try: semester, listName = l.slug.split('-', 1) except ValueError as e: print("Could not process %s as a semester list" % l.slug) print(e) continue if semester not in managedLists[listType]: managedLists[listType][semester] = [] managedLists[listType][semester].append(l) sortedManagedLists = OrderedDict() for listType in managedLists: sortedManagedLists[listType] = OrderedDict() semestersDict = managedLists[listType] for semesterCode in reversed(sorted(semestersDict, key=lib.registrationCardCodeKey)): sortedManagedLists[listType][semesterCode] = sorted(semestersDict[semesterCode], key=lambda x: x.name) unmanagedLists = List.objects.filter(list_type__in=['admin_list']).order_by('name') return render(request, "dashboard_reporting.html", {'registration_sessions': reversed(sorted(RegistrationSession.objects.all(), key=lambda rs: lib.registrationCardCodeKey(rs.card_code))), 'managed_lists': sortedManagedLists, 'unmanaged_lists': unmanagedLists, 'query_lists': QueryList.objects.all()})
def index(request): managedLists = {} for l in List.objects.exclude(list_type__in=['admin_list', 'entry_list']): listType = l.get_list_type_display() if listType not in managedLists: managedLists[listType] = {} semester, listName = l.slug.split('-', 1) if semester not in managedLists[listType]: managedLists[listType][semester] = [] managedLists[listType][semester].append(l) sortedManagedLists = OrderedDict() for listType in managedLists: sortedManagedLists[listType] = OrderedDict() semestersDict = managedLists[listType] for semesterCode in reversed(sorted(semestersDict, key=lib.registrationCardCodeKey)): sortedManagedLists[listType][semesterCode] = sorted(semestersDict[semesterCode], key=lambda x: x.name) unmanagedLists = List.objects.filter(list_type__in=['admin_list']).order_by('name') return render(request, "dashboard_reporting.html", {'registration_sessions': reversed(sorted(RegistrationSession.objects.all(), key=lambda rs: lib.registrationCardCodeKey(rs.card_code))), 'managed_lists': sortedManagedLists, 'unmanaged_lists': unmanagedLists, 'query_lists': QueryList.objects.all()})