Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion openedx/features/survey_report/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
10 changes: 8 additions & 2 deletions openedx/features/survey_report/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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()