From 3820c24b63cab194b5bb2b024353d36c341f026c Mon Sep 17 00:00:00 2001 From: henrrypg Date: Wed, 19 Oct 2022 14:51:14 -0500 Subject: [PATCH] feat: add method to get currently learners --- openedx/features/survey_report/application.py | 3 ++- openedx/features/survey_report/queries.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/openedx/features/survey_report/application.py b/openedx/features/survey_report/application.py index f22ac11bb12c..fce8f35a3c9c 100644 --- a/openedx/features/survey_report/application.py +++ b/openedx/features/survey_report/application.py @@ -2,8 +2,9 @@ Contains the logic to manage survey report model. """ -from openedx.features.survey_report.queries import get_unique_courses_offered +from openedx.features.survey_report.queries import get_unique_courses_offered, currently_learners def generate_report() -> None: """ Generate a report with relevant data.""" courses_offered=get_unique_courses_offered() + learners=currently_learners() diff --git a/openedx/features/survey_report/queries.py b/openedx/features/survey_report/queries.py index 497687b47657..03b34646093c 100644 --- a/openedx/features/survey_report/queries.py +++ b/openedx/features/survey_report/queries.py @@ -2,10 +2,10 @@ Queries to get data from database. """ -from datetime import datetime +from datetime import datetime, timedelta from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from common.djangoapps.student.models import CourseEnrollment - +from django.contrib.auth.models import User from django.db.models import Q, Subquery, OuterRef, Count @@ -25,3 +25,9 @@ def get_unique_courses_offered() -> int: .filter(start__lt=datetime.now())\ .filter(Q(end__isnull=True)|Q(end__gt=datetime.now()))\ .count() + +def currently_learners() -> int: + """ + Get total number of learners with last login in the last 3 weeks. + """ + return User.objects.filter(last_login__gte=datetime.now() - timedelta(weeks=3)).count()