diff --git a/lms/static/js/commerce/credit.js b/lms/static/js/commerce/credit.js index 516127aa51..831b0ec0e1 100644 --- a/lms/static/js/commerce/credit.js +++ b/lms/static/js/commerce/credit.js @@ -23,6 +23,7 @@ var edx = edx || {}; context: this, success: function (requestData) { var $form = $('
', { + 'class': 'hidden', 'action': requestData.url, 'method': 'POST', 'accept-method': 'UTF-8' @@ -35,7 +36,7 @@ var edx = edx || {}; }).appendTo($form); }); - $form.submit(); + $form.appendTo('body').submit(); } }); }; diff --git a/lms/static/js/commerce/views/receipt_view.js b/lms/static/js/commerce/views/receipt_view.js index a627205218..5eeaa38487 100644 --- a/lms/static/js/commerce/views/receipt_view.js +++ b/lms/static/js/commerce/views/receipt_view.js @@ -288,6 +288,12 @@ function completeOrder(event) { // jshint ignore:line providerId = $(event).data("provider"), $errorContainer = $("#error-container"); + try { + event.preventDefault(); + } catch (err) { + // Ignore the error as not all event inputs have the preventDefault method. + } + analytics.track( "edx.bi.credit.clicked_complete_credit", { diff --git a/lms/static/js/dashboard/credit.js b/lms/static/js/dashboard/credit.js index b6f08a8915..04f2e35a3e 100644 --- a/lms/static/js/dashboard/credit.js +++ b/lms/static/js/dashboard/credit.js @@ -36,6 +36,8 @@ var edx = edx || {}; username = $target.data("user"), providerId = $target.data("provider"); + event.preventDefault(); + edx.commerce.credit.createCreditRequest(providerId, courseKey, username).fail(function () { $(".credit-action").hide(); $errorContainer.toggleClass("is-hidden"); diff --git a/lms/templates/dashboard/_dashboard_credit_info.html b/lms/templates/dashboard/_dashboard_credit_info.html index bca86acee3..509c84c95b 100644 --- a/lms/templates/dashboard/_dashboard_credit_info.html +++ b/lms/templates/dashboard/_dashboard_credit_info.html @@ -23,8 +23,8 @@ % if not credit_status["purchased"] and not credit_status["error"] :

## Translators: provider_name is the name of a credit provider or university (e.g. State University) - ${_("You are now eligible to purchase course credit from {provider_name} for this course. Click Get Credit to get started.").format( - provider_name=credit_status["provider_name"], + ${_("You are now eligible to purchase course credit for this course. Click Get Credit to get started.").format( + provider_name=credit_status["provider_name"], )}

diff --git a/openedx/core/djangoapps/credit/api/provider.py b/openedx/core/djangoapps/credit/api/provider.py index 4260149cca..8e2bf81d21 100644 --- a/openedx/core/djangoapps/credit/api/provider.py +++ b/openedx/core/djangoapps/credit/api/provider.py @@ -274,11 +274,7 @@ def create_credit_request(course_key, provider_id, username): "user_username": user.username, "user_email": user.email, "user_full_name": user.profile.name, - "user_mailing_address": ( - user.profile.mailing_address - if user.profile.mailing_address is not None - else "" - ), + "user_mailing_address": "", "user_country": ( user.profile.country.code if user.profile.country.code is not None diff --git a/openedx/core/djangoapps/credit/tests/test_api.py b/openedx/core/djangoapps/credit/tests/test_api.py index 64c7d8136f..11ea560876 100644 --- a/openedx/core/djangoapps/credit/tests/test_api.py +++ b/openedx/core/djangoapps/credit/tests/test_api.py @@ -639,7 +639,8 @@ class CreditProviderIntegrationApiTests(CreditApiTestBase): for key in self.USER_INFO.keys(): param_key = 'user_{key}'.format(key=key) self.assertIn(param_key, parameters) - self.assertEqual(parameters[param_key], self.USER_INFO[key]) + expected = '' if key == 'mailing_address' else self.USER_INFO[key] + self.assertEqual(parameters[param_key], expected) def test_create_credit_request_grade_length(self): """ Verify the length of the final grade is limited to seven (7) characters total. @@ -656,6 +657,11 @@ class CreditProviderIntegrationApiTests(CreditApiTestBase): request = api.create_credit_request(self.course_key, self.PROVIDER_ID, self.USER_INFO['username']) self.assertEqual(request['parameters']['final_grade'], u'0.33333') + def test_create_credit_request_address_empty(self): + """ Verify the mailing address is always empty. """ + request = api.create_credit_request(self.course_key, self.PROVIDER_ID, self.user.username) + self.assertEqual(request['parameters']['user_mailing_address'], '') + def test_credit_request_disable_integration(self): CreditProvider.objects.all().update(enable_integration=False)