From baf48978e12bb9e2186e643d164943d8d62cdfbf Mon Sep 17 00:00:00 2001 From: bsimpson63 Date: Wed, 27 Feb 2013 19:52:42 -0500 Subject: [PATCH] Do better job of disabling/enabling stripe button. --- r2/r2/controllers/ipn.py | 5 +++-- r2/r2/public/static/css/reddit.less | 2 +- r2/r2/public/static/js/gold.js | 9 +++------ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/r2/r2/controllers/ipn.py b/r2/r2/controllers/ipn.py index 30f620445..f965a3812 100644 --- a/r2/r2/controllers/ipn.py +++ b/r2/r2/controllers/ipn.py @@ -749,12 +749,12 @@ class StripeController(GoldPaymentController): customer['active_card']['address_zip_check'] == 'fail'): form.set_html('.status', _('error: address verification failed')) - form.find('.stripe-submit').removeClass("disabled").end() + form.find('.stripe-submit').removeAttr('disabled').end() return if customer['active_card']['cvc_check'] == 'fail': form.set_html('.status', _('error: cvc check failed')) - form.find('.stripe-submit').removeClass("disabled").end() + form.find('.stripe-submit').removeAttr('disabled').end() return charge = stripe.Charge.create( @@ -765,6 +765,7 @@ class StripeController(GoldPaymentController): ) except stripe.CardError as e: form.set_html('.status', 'error: %s' % e.message) + form.find('.stripe-submit').removeAttr('disabled').end() except stripe.InvalidRequestError as e: form.set_html('.status', _('invalid request')) except stripe.APIConnectionError as e: diff --git a/r2/r2/public/static/css/reddit.less b/r2/r2/public/static/css/reddit.less index 28c32a36c..752e6b60f 100755 --- a/r2/r2/public/static/css/reddit.less +++ b/r2/r2/public/static/css/reddit.less @@ -5435,7 +5435,7 @@ body:not(.gold) .allminus-link { text-shadow: 0px 1px 0px hsla(0,0%,100%,.7); } -.gold-button.disabled { +.gold-button.disabled, .gold-button:disabled { color: #999; background-color: #ccc; border-color: #aaa; diff --git a/r2/r2/public/static/js/gold.js b/r2/r2/public/static/js/gold.js index d2fc9bb13..3c494b3cb 100644 --- a/r2/r2/public/static/js/gold.js +++ b/r2/r2/public/static/js/gold.js @@ -134,9 +134,8 @@ r.gold = { cardZip = form.find('.card-address_zip').val() var stripeResponseHandler = function(status, response) { - window.clearTimeout(workingTimer) if (response.error) { - submit.removeClass("disabled") + submit.removeAttr('disabled') status.html(response.error.message) } else { token.val(response.id) @@ -164,10 +163,8 @@ r.gold = { status.text(r.strings('missing_credit_zip')) } else { - var workingTimer = setTimeout(function () { - submit.addClass('disabled') - }, 200) - + status.text('') + submit.attr('disabled', 'disabled') Stripe.createToken({ name: cardName, number: cardNumber,