[FC-005] feat: add necessary models for Openedx survey report (#31183)
* feat: add survey_report djangoapp * feat: add survey report cli command and query methods * fix: add init file * refactor: change model fields * refactor: rename application file and rename methods * refactor: add is_active to get course enrollments * refactor: rename method to get active users * refactor: remove fields useless * test: rename mocks in command tests * test: update test name * docs: add README file * docs: add selection criteria to get unique courses * docs: update README * test: remove useless mocks and use default modulestore * docs: change command error message * docs: add docs decisions * docs: Update openedx/features/survey_report/management/commands/generate_report.py * docs: add fields descriptions * docs: add logs for each query * style: add blank lines * refactor: rename variables and add a constant for weeks * refactor: add constant MIN_ENROLLS_ACTIVE_COURSE Co-authored-by: henrrypg <henrry.pulgarin@edunext.co> Co-authored-by: David Ormsbee <dave@tcril.org> Co-authored-by: Maria Grimaldi <maria.grimaldi@edunext.co>
This commit is contained in:
committed by
GitHub
parent
f419d6b194
commit
bfd212b6d8
37
openedx/features/survey_report/api.py
Normal file
37
openedx/features/survey_report/api.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
Contains the logic to manage survey report model.
|
||||
"""
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from openedx.features.survey_report.models import SurveyReport
|
||||
from openedx.features.survey_report.queries import (
|
||||
get_course_enrollments,
|
||||
get_recently_active_users,
|
||||
get_generated_certificates,
|
||||
get_registered_learners,
|
||||
get_unique_courses_offered
|
||||
)
|
||||
|
||||
MAX_WEEKS_SINCE_LAST_LOGIN: int = 4
|
||||
|
||||
|
||||
def generate_report() -> None:
|
||||
""" Generate a report with relevant data."""
|
||||
courses_offered = get_unique_courses_offered()
|
||||
learners = get_recently_active_users(weeks=MAX_WEEKS_SINCE_LAST_LOGIN)
|
||||
registered_learners = get_registered_learners()
|
||||
certificates = get_generated_certificates()
|
||||
enrollments = get_course_enrollments()
|
||||
extra_data = settings.SURVEY_REPORT_EXTRA_DATA
|
||||
|
||||
survey_report = SurveyReport(
|
||||
courses_offered=courses_offered,
|
||||
learners=learners,
|
||||
registered_learners=registered_learners,
|
||||
generated_certificates=certificates,
|
||||
enrollments=enrollments,
|
||||
extra_data=extra_data,
|
||||
)
|
||||
|
||||
survey_report.save()
|
||||
Reference in New Issue
Block a user