Skip to content

Commit

Permalink
Include grade for users in waiting list
Browse files Browse the repository at this point in the history
  • Loading branch information
ollfkaih committed Sep 3, 2024
1 parent d49dca9 commit 3f11599
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions lego/apps/events/serializers/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -544,15 +544,24 @@ def populate_event_registration_users_with_grade(event_dict):
:param event_dict:
:return:
"""

def get_grade(r):
user = r.get("user", {})
abakus_groups = user.get("abakus_groups", [])
user["grade"] = None
for id in abakus_groups:
grade = grade_dict.get(id, None)
if grade:
user["grade"] = grade

grades = AbakusGroup.objects.filter(type=GROUP_GRADE).values("id", "name")
grade_dict = {item["id"]: item for item in grades}

for pool in event_dict.get("pools", []):
for registration in pool.get("registrations", []):
user = registration.get("user", {})
abakus_groups = user.get("abakus_groups", [])
user["grade"] = None
for id in abakus_groups:
grade = grade_dict.get(id, None)
if grade:
user["grade"] = grade
get_grade(registration)

for reg in event_dict.get("waiting_registrations", []):
get_grade(reg)

return event_dict

0 comments on commit 3f11599

Please sign in to comment.