From 6ece244974d07ee11508086df53dd6924e604fb0 Mon Sep 17 00:00:00 2001 From: jelanmathewjames Date: Thu, 20 Jun 2024 21:06:20 +0530 Subject: [PATCH 1/5] refactor: Add "Community" as an allowed organization type in Leaderboard APIView --- api/launchpad/launchpad_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/launchpad/launchpad_views.py b/api/launchpad/launchpad_views.py index ae06c45f..bd42a036 100644 --- a/api/launchpad/launchpad_views.py +++ b/api/launchpad/launchpad_views.py @@ -25,7 +25,7 @@ def get(self, request): ).values('user').annotate( total_karma=Sum('karma') ).values('total_karma') - allowed_org_types = ["College", "School", "Company"] + allowed_org_types = ["College", "School", "Company", "Community"] intro_task_completed_users = KarmaActivityLog.objects.filter( task__event='launchpad', From 74c0f327e1137a69879d4dbf1f22dbb1a1251b03 Mon Sep 17 00:00:00 2001 From: jelanmathewjames Date: Thu, 20 Jun 2024 21:07:45 +0530 Subject: [PATCH 2/5] refactor: Update launchpad serializer --- api/launchpad/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/launchpad/serializers.py b/api/launchpad/serializers.py index b387a487..702eea3a 100644 --- a/api/launchpad/serializers.py +++ b/api/launchpad/serializers.py @@ -32,7 +32,7 @@ def get_rank(self, obj): ).values('user').annotate( total_karma=Sum('karma') ).values('total_karma') - allowed_org_types = ["College", "School", "Company"] + allowed_org_types = ["College", "School", "Company", "Community"] intro_task_completed_users = KarmaActivityLog.objects.filter( task__event='launchpad', From 46abdd8229b9634ca980e4f6655dc6d4a13db278 Mon Sep 17 00:00:00 2001 From: jelanmathewjames Date: Thu, 20 Jun 2024 21:16:28 +0530 Subject: [PATCH 3/5] refactor: Update Launchpad Leaderboard APIView --- api/launchpad/launchpad_views.py | 4 ++-- api/launchpad/serializers.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/launchpad/launchpad_views.py b/api/launchpad/launchpad_views.py index bd42a036..cc238be7 100644 --- a/api/launchpad/launchpad_views.py +++ b/api/launchpad/launchpad_views.py @@ -43,9 +43,9 @@ def get(self, request): queryset=UserOrganizationLink.objects.filter(org__org_type__in=allowed_org_types), ) ).filter( - Q(user_organization_link_user__id__in=UserOrganizationLink.objects.filter( + Q(user_organization_link_user__user_id__in=UserOrganizationLink.objects.filter( org__org_type__in=allowed_org_types - ).values("id")) | Q(user_organization_link_user__id__isnull=True) + ).values("user_id")) | Q(user_organization_link_user__id__isnull=True) ).annotate( karma=Subquery(total_karma_subquery, output_field=IntegerField()), org=F("user_organization_link_user__org__title"), diff --git a/api/launchpad/serializers.py b/api/launchpad/serializers.py index 702eea3a..bcdd8fd0 100644 --- a/api/launchpad/serializers.py +++ b/api/launchpad/serializers.py @@ -50,9 +50,9 @@ def get_rank(self, obj): queryset=UserOrganizationLink.objects.filter(org__org_type__in=allowed_org_types), ) ).filter( - Q(user_organization_link_user__id__in=UserOrganizationLink.objects.filter( + Q(user_organization_link_user__user_id__in=UserOrganizationLink.objects.filter( org__org_type__in=allowed_org_types - ).values("id")) | Q(user_organization_link_user__id__isnull=True) + ).values("user_id")) | Q(user_organization_link_user__id__isnull=True) ).annotate( karma=Subquery(total_karma_subquery, output_field=IntegerField()), time_=Max("karma_activity_log_user__created_at"), From d0c7ce1cf77876dbe0295d163983db4a7ba62bc4 Mon Sep 17 00:00:00 2001 From: jelanmathewjames Date: Thu, 20 Jun 2024 21:37:22 +0530 Subject: [PATCH 4/5] refactor: Update ListParticipantsAPI --- api/launchpad/launchpad_views.py | 10 +++++----- api/launchpad/serializers.py | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/launchpad/launchpad_views.py b/api/launchpad/launchpad_views.py index cc238be7..bea43a11 100644 --- a/api/launchpad/launchpad_views.py +++ b/api/launchpad/launchpad_views.py @@ -25,7 +25,7 @@ def get(self, request): ).values('user').annotate( total_karma=Sum('karma') ).values('total_karma') - allowed_org_types = ["College", "School", "Company", "Community"] + allowed_org_types = ["College", "School", "Company"] intro_task_completed_users = KarmaActivityLog.objects.filter( task__event='launchpad', @@ -43,9 +43,9 @@ def get(self, request): queryset=UserOrganizationLink.objects.filter(org__org_type__in=allowed_org_types), ) ).filter( - Q(user_organization_link_user__user_id__in=UserOrganizationLink.objects.filter( + Q(user_organization_link_user__id__in=UserOrganizationLink.objects.filter( org__org_type__in=allowed_org_types - ).values("user_id")) | Q(user_organization_link_user__id__isnull=True) + ).values("id")) | Q(user_organization_link_user__id__isnull=True) ).annotate( karma=Subquery(total_karma_subquery, output_field=IntegerField()), org=F("user_organization_link_user__org__title"), @@ -93,9 +93,9 @@ def get(self, request): queryset=UserRoleLink.objects.filter(verified=True, role__title__in=allowed_levels).select_related('role') ) ).filter( - user_organization_link_user__id__in=UserOrganizationLink.objects.filter( + Q(user_organization_link_user__id__in=UserOrganizationLink.objects.filter( org__org_type__in=allowed_org_types - ).values("id") + ).values("id")) | Q(user_organization_link_user__id__isnull=True) ).annotate( org=F("user_organization_link_user__org__title"), district_name=F("user_organization_link_user__org__district__name"), diff --git a/api/launchpad/serializers.py b/api/launchpad/serializers.py index bcdd8fd0..b387a487 100644 --- a/api/launchpad/serializers.py +++ b/api/launchpad/serializers.py @@ -32,7 +32,7 @@ def get_rank(self, obj): ).values('user').annotate( total_karma=Sum('karma') ).values('total_karma') - allowed_org_types = ["College", "School", "Company", "Community"] + allowed_org_types = ["College", "School", "Company"] intro_task_completed_users = KarmaActivityLog.objects.filter( task__event='launchpad', @@ -50,9 +50,9 @@ def get_rank(self, obj): queryset=UserOrganizationLink.objects.filter(org__org_type__in=allowed_org_types), ) ).filter( - Q(user_organization_link_user__user_id__in=UserOrganizationLink.objects.filter( + Q(user_organization_link_user__id__in=UserOrganizationLink.objects.filter( org__org_type__in=allowed_org_types - ).values("user_id")) | Q(user_organization_link_user__id__isnull=True) + ).values("id")) | Q(user_organization_link_user__id__isnull=True) ).annotate( karma=Subquery(total_karma_subquery, output_field=IntegerField()), time_=Max("karma_activity_log_user__created_at"), From 31f28a424958bef82528367db423d4b4d689798c Mon Sep 17 00:00:00 2001 From: jelanmathewjames Date: Thu, 20 Jun 2024 21:38:42 +0530 Subject: [PATCH 5/5] refactor: Update LaunchpadParticipantsSerializer to allow null and blank values for org, district_name, and state fields --- api/launchpad/serializers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/launchpad/serializers.py b/api/launchpad/serializers.py index b387a487..92386593 100644 --- a/api/launchpad/serializers.py +++ b/api/launchpad/serializers.py @@ -69,9 +69,9 @@ def get_rank(self, obj): class LaunchpadParticipantsSerializer(serializers.ModelSerializer): - org = serializers.CharField() - district_name = serializers.CharField() - state = serializers.CharField() + org = serializers.CharField(allow_null=True, allow_blank=True) + district_name = serializers.CharField(allow_null=True, allow_blank=True) + state = serializers.CharField(allow_null=True, allow_blank=True) level = serializers.CharField() class Meta: