Merge pull request #34818 from openedx/gmartin/cc-logging
fix: adding additional logging to commerce handle_refund_order
This commit is contained in:
@@ -434,6 +434,7 @@ def change_enrollment(request, check_access=True):
|
||||
except UnenrollmentNotAllowed as exc:
|
||||
return HttpResponseBadRequest(str(exc))
|
||||
|
||||
log.info("User %s unenrolled from %s; sending REFUND_ORDER", user.username, course_id)
|
||||
REFUND_ORDER.send(sender=None, course_enrollment=enrollment)
|
||||
return HttpResponse()
|
||||
else:
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
Signal handling functions for use with external commerce service.
|
||||
"""
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
from crum import get_current_request
|
||||
@@ -21,13 +20,15 @@ log = logging.getLogger(__name__)
|
||||
@receiver(REFUND_ORDER)
|
||||
def handle_refund_order(sender, course_enrollment=None, **kwargs):
|
||||
"""
|
||||
Signal receiver for unenrollments, used to automatically initiate refunds
|
||||
Signal receiver for un-enrollments, used to automatically initiate refunds
|
||||
when applicable.
|
||||
"""
|
||||
if not is_commerce_service_configured():
|
||||
log.info("Commerce service not configured, skipping refund")
|
||||
return
|
||||
|
||||
if course_enrollment and course_enrollment.refundable():
|
||||
log.info("Handling refund for course enrollment %s", course_enrollment.course_id)
|
||||
try:
|
||||
request_user = get_request_user() or course_enrollment.user
|
||||
if isinstance(request_user, AnonymousUser):
|
||||
@@ -36,7 +37,13 @@ def handle_refund_order(sender, course_enrollment=None, **kwargs):
|
||||
# construct a client to call Otto back anyway, because
|
||||
# the client does not work anonymously, and furthermore,
|
||||
# there's certainly no need to inform Otto about this request.
|
||||
log.info(
|
||||
"Anonymous user attempting to initiate refund for course [%s]",
|
||||
course_enrollment.course_id,
|
||||
)
|
||||
return
|
||||
log.info("Initiating refund_seat for user [%s] for course enrollment %s",
|
||||
course_enrollment.user.id, course_enrollment.course_id)
|
||||
refund_seat(course_enrollment, change_mode=True)
|
||||
except Exception: # pylint: disable=broad-except
|
||||
# don't assume the signal was fired with `send_robust`.
|
||||
@@ -47,6 +54,13 @@ def handle_refund_order(sender, course_enrollment=None, **kwargs):
|
||||
course_enrollment.user.id,
|
||||
course_enrollment.course_id,
|
||||
)
|
||||
elif course_enrollment:
|
||||
log.info(
|
||||
"Not refunding seat for course enrollment %s, as its not refundable",
|
||||
course_enrollment.course_id
|
||||
)
|
||||
else:
|
||||
log.info("Not refunding seat for course due to missing course enrollment")
|
||||
|
||||
|
||||
def get_request_user():
|
||||
|
||||
Reference in New Issue
Block a user