def handle_unenroll_done(sender, course_enrollment=None, skip_refund=False, **kwargs): # pylint: disable=unused-argument """ Signal receiver for unenrollments, used to automatically initiate refunds when applicable. N.B. this signal is also consumed by lms.djangoapps.shoppingcart. """ if not is_commerce_service_configured() or skip_refund: return if course_enrollment and course_enrollment.refundable(): try: request_user = get_request_user() or course_enrollment.user if isinstance(request_user, AnonymousUser): # Assume the request was initiated via server-to-server # api call (presumably Otto). In this case we cannot # 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. return refund_seat(course_enrollment, request_user) except: # pylint: disable=bare-except # don't assume the signal was fired with `send_robust`. # avoid blowing up other signal handlers by gracefully # trapping the Exception and logging an error. log.exception( "Unexpected exception while attempting to initiate refund for user [%s], course [%s]", course_enrollment.user.id, course_enrollment.course_id, )
def handle_unenroll_done(sender, course_enrollment=None, skip_refund=False, **kwargs): # pylint: disable=unused-argument """ Signal receiver for unenrollments, used to automatically initiate refunds when applicable. N.B. this signal is also consumed by lms.djangoapps.shoppingcart. """ if not is_commerce_service_configured() or skip_refund: return if course_enrollment and course_enrollment.refundable(): try: request_user = get_request_user() or course_enrollment.user refund_seat(course_enrollment, request_user) except: # pylint: disable=bare-except # don't assume the signal was fired with `send_robust`. # avoid blowing up other signal handlers by gracefully # trapping the Exception and logging an error. log.exception( "Unexpected exception while attempting to initiate refund for user [%s], course [%s]", course_enrollment.user.id, course_enrollment.course_id, )
def handle_unenroll_done( sender, course_enrollment=None, skip_refund=False, **kwargs ): # pylint: disable=unused-argument """ Signal receiver for unenrollments, used to automatically initiate refunds when applicable. N.B. this signal is also consumed by lms.djangoapps.shoppingcart. """ if not is_commerce_service_configured() or skip_refund: return if course_enrollment and course_enrollment.refundable(): try: request_user = get_request_user() or course_enrollment.user if isinstance(request_user, AnonymousUser): # Assume the request was initiated via server-to-server # api call (presumably Otto). In this case we cannot # 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. return refund_seat(course_enrollment, request_user) except: # pylint: disable=bare-except # don't assume the signal was fired with `send_robust`. # avoid blowing up other signal handlers by gracefully # trapping the Exception and logging an error. log.exception( "Unexpected exception while attempting to initiate refund for user [%s], course [%s]", course_enrollment.user.id, course_enrollment.course_id, )
def handle_unenroll_done(sender, course_enrollment=None, skip_refund=False, **kwargs): # pylint: disable=unused-argument """ Signal receiver for unenrollments, used to automatically initiate refunds when applicable. N.B. this signal is also consumed by lms.djangoapps.shoppingcart. """ if not is_commerce_service_configured() or skip_refund: return if course_enrollment and course_enrollment.refundable(): try: request_user = get_request_user() or course_enrollment.user refund_seat(course_enrollment, request_user) except: # pylint: disable=bare-except # don't assume the signal was fired with `send_robust`. # avoid blowing up other signal handlers by gracefully # trapping the Exception and logging an error. log.exception( "Unexpected exception while attempting to initiate refund for user [%s], course [%s]", course_enrollment.user, course_enrollment.course_id, )