diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a5296117b..4a60f4d66 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -17,6 +17,10 @@ Unreleased ---------- * nothing unreleased +[4.25.13] +---------- +* feat: add logging to debug SAP SuccessFactors transmission issues + [4.25.12] ---------- * feat: add username query to enterprise customer user query diff --git a/enterprise/__init__.py b/enterprise/__init__.py index d3dc97873..e5d4c5cab 100644 --- a/enterprise/__init__.py +++ b/enterprise/__init__.py @@ -2,4 +2,4 @@ Your project description goes here. """ -__version__ = "4.25.12" +__version__ = "4.25.13" diff --git a/integrated_channels/integrated_channel/exporters/learner_data.py b/integrated_channels/integrated_channel/exporters/learner_data.py index 04385833e..070a80051 100644 --- a/integrated_channels/integrated_channel/exporters/learner_data.py +++ b/integrated_channels/integrated_channel/exporters/learner_data.py @@ -124,6 +124,15 @@ def bulk_assessment_level_export(self): # Create a record of each subsection from every enterprise enrollment for enterprise_enrollment in enrollment_queryset: if not LearnerExporter.has_data_sharing_consent(enterprise_enrollment): + # Adding logging to debug the issue we are having with a customer using SAPSF channel + LOGGER.info(generate_formatted_log( + self.enterprise_configuration.channel_code(), + self.enterprise_configuration.enterprise_customer.uuid, + None, + None, + f'[SAPSF] Transmission skipped for {enterprise_enrollment.enterprise_customer_user.user_id}' + 'due to missing data sharing consent.' + )) continue assessment_grade_data = self._collect_assessment_grades_data(enterprise_enrollment) @@ -192,6 +201,16 @@ def single_assessment_level_export(self, **kwargs): detect_grade_updated=self.INCLUDE_GRADE_FOR_COMPLETION_AUDIT_CHECK, ) + # Adding logging to debug the issue we are having with a customer using SAPSF channel + LOGGER.info(generate_formatted_log( # pragma: no cover + self.enterprise_configuration.channel_code(), + self.enterprise_configuration.enterprise_customer.uuid, + None, + None, + f'[SAPSF] Transmission already sent for {enterprise_enrollment.enterprise_customer_user.user_id}' + f'is_already_transmitted returned {already_transmitted}' + )) + if not (TransmissionAudit and already_transmitted) and LearnerExporter.has_data_sharing_consent( enterprise_enrollment): @@ -202,6 +221,14 @@ def single_assessment_level_export(self, **kwargs): assessment_grade_data=assessment_grade_data, ) if records: + # Adding logging to debug the issue we are having with a customer using SAPSF channel + LOGGER.info(generate_formatted_log( # pragma: no cover + self.enterprise_configuration.channel_code(), + self.enterprise_configuration.enterprise_customer.uuid, + None, + None, + f'[SAPSF] Transmission sent for {enterprise_enrollment.enterprise_customer_user.user_id}' + )) # There are some cases where we won't receive a record from the above # method; right now, that should only happen if we have an Enterprise-linked # user for the integrated channel, and transmission of that user's @@ -497,6 +524,15 @@ def _filter_out_pre_transmitted_enrollments( grade, detect_grade_updated=self.INCLUDE_GRADE_FOR_COMPLETION_AUDIT_CHECK, ): + # Adding logging to debug the issue we are having with a customer using SAPSF channel + LOGGER.info(generate_formatted_log( + self.enterprise_configuration.channel_code(), + self.enterprise_configuration.enterprise_customer.uuid, + None, + None, + f'[SAPSF] Transmission skipped for {enterprise_enrollment.enterprise_customer_user.user_id}' + 'transmission_audit and already_transmitted returned True.' + )) # We've already sent a completion status for this enrollment LOGGER.info(generate_formatted_log( channel_name, enterprise_customer_uuid, lms_user_id, course_id,