diff --git a/lms/envs/production.py b/lms/envs/production.py index d1c5a08aa2b0..8455f76948a0 100644 --- a/lms/envs/production.py +++ b/lms/envs/production.py @@ -1080,3 +1080,6 @@ def get_env_setting(setting): "SECRET": ENV_TOKENS.get('BIG_BLUE_BUTTON_GLOBAL_SECRET', None), "URL": ENV_TOKENS.get('BIG_BLUE_BUTTON_GLOBAL_URL', None), } + +############## Settings for survey report ############## +SURVEY_REPORT_EXTRA_DATA = ENV_TOKENS.get('SURVEY_REPORT_EXTRA_DATA', {}) diff --git a/openedx/features/survey_report/application.py b/openedx/features/survey_report/application.py index 031fa68a057e..89ee9a2ef2b6 100644 --- a/openedx/features/survey_report/application.py +++ b/openedx/features/survey_report/application.py @@ -2,19 +2,35 @@ Contains the logic to manage survey report model. """ +from django.conf import settings + from openedx.features.survey_report.queries import ( - currently_learners, - genarated_certificates, get_unique_courses_offered, - learners_registered, - course_enrollments + get_currently_learners, + get_learners_registered, + get_generated_certificates, + get_course_enrollments, ) +from openedx.features.survey_report.models import SurveyReport + def generate_report() -> None: """ Generate a report with relevant data.""" courses_offered = get_unique_courses_offered() - learners = currently_learners() - registered = learners_registered() - certificates = genarated_certificates() - enrollments = course_enrollments() + learners = get_currently_learners() + registered = get_learners_registered() + 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, + generated_certificates=certificates, + enrollments=enrollments, + extra_data=extra_data, + ) + + survey_report.save() diff --git a/openedx/features/survey_report/queries.py b/openedx/features/survey_report/queries.py index b02f9a79bdbf..589dfad127f3 100644 --- a/openedx/features/survey_report/queries.py +++ b/openedx/features/survey_report/queries.py @@ -50,7 +50,7 @@ def get_generated_certificates() -> int: return PersistentCourseGrade.objects.filter(passed_timestamp__isnull=False).count() def get_course_enrollments() -> int: - """" + """ Get total number of enrollments from users that aren't staff. """ return CourseEnrollment.objects.filter(user__is_superuser=False, user__is_staff=False).count()