From 9a060cb59f040c22cd7afdd3f08b8c0b446ccd40 Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Wed, 18 Sep 2024 10:26:50 +0200 Subject: [PATCH] Fix type error --- server/vbv_lernwelt/dashboard/utils.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/server/vbv_lernwelt/dashboard/utils.py b/server/vbv_lernwelt/dashboard/utils.py index 90e09754..1db89ce5 100644 --- a/server/vbv_lernwelt/dashboard/utils.py +++ b/server/vbv_lernwelt/dashboard/utils.py @@ -98,8 +98,17 @@ def create_course_session_dict(course_session_object, my_role, user_role): def create_person_list_with_roles( user, course_session_ids=None, include_private_data=False ): - def create_user_dict(csu: CourseSessionUser): - user_object = csu.user + def create_csu_dict(csu: CourseSessionUser): + user_data = create_user_dict(csu.user) + user_data["chosen_profile"] = ( + csu.chosen_profile.code if csu.chosen_profile else "all" + ) + user_data["paid_datetime"] = ( + csu.paid_datetime.isoformat() if csu.paid_datetime else None + ) + return user_data + + def create_user_dict(user_object: User): user_data = { "user_id": user_object.id, "first_name": user_object.first_name, @@ -108,10 +117,6 @@ def create_person_list_with_roles( "avatar_url_small": user_object.avatar_url_small, "avatar_url": user_object.avatar_url, "course_sessions": [], - "chosen_profile": csu.chosen_profile.code if csu.chosen_profile else "all", - "paid_datetime": csu.paid_datetime.isoformat() - if csu.paid_datetime - else None, } if include_private_data: user_data["phone_number"] = user_object.phone_number @@ -135,7 +140,7 @@ def create_person_list_with_roles( ).select_related("user") my_role = user_role(cs.roles) for csu in course_session_users: - person_data = result_persons.get(csu.user.id, create_user_dict(csu)) + person_data = result_persons.get(csu.user.id, create_csu_dict(csu)) person_data["course_sessions"].append( create_course_session_dict(cs, my_role, csu.role) ) @@ -149,7 +154,7 @@ def create_person_list_with_roles( participant_user = relation.participant.user if participant_user.id not in result_persons: - person_data = create_user_dict(relation.participant) + person_data = create_csu_dict(relation.participant) person_data["course_sessions"] = [course_session_entry] result_persons[participant_user.id] = person_data else: