diff --git a/hosting/forms.py b/hosting/forms.py index 4092f4a1..6bf9cdd0 100644 --- a/hosting/forms.py +++ b/hosting/forms.py @@ -109,6 +109,17 @@ class ProductPaymentForm(GenericPaymentForm): 'readonly': 'readonly' } ) ) + if self.product.product_is_subscription: + self.fields['amount'].label = "{amt} ({payment_type})".format( + amt=_('Amount in CHF'), + payment_type=_('Monthly subscription') + ) + else: + self.fields['amount'].label = "{amt} ({payment_type})".format( + amt=_('Amount in CHF'), + payment_type = _('One time payment') + ) + self.fields['recurring'].widget=forms.HiddenInput() def clean_amount(self): amount = self.cleaned_data.get('amount') diff --git a/hosting/static/hosting/js/payment.js b/hosting/static/hosting/js/payment.js index 52dd511a..fa89f218 100644 --- a/hosting/static/hosting/js/payment.js +++ b/hosting/static/hosting/js/payment.js @@ -165,9 +165,14 @@ $(document).ready(function () { function submitBillingForm() { var billing_form = $('#billing-form'); + var recurring_input = $('#id_generic_payment_form-recurring'); billing_form.append('<input type="hidden" name="generic_payment_form-product_name" value="' + $('#id_generic_payment_form-product_name').val() + '" />'); billing_form.append('<input type="hidden" name="generic_payment_form-amount" value="' + $('#id_generic_payment_form-amount').val() + '" />'); - billing_form.append('<input type="hidden" name="generic_payment_form-recurring" value="' + ($('#id_generic_payment_form-recurring').prop('checked') ? 'on' : '') + '" />'); + if (recurring_input.attr('type') === 'hidden') { + billing_form.append('<input type="hidden" name="generic_payment_form-recurring" value="' + (recurring_input.val() === 'True' ? 'on' : '') + '" />'); + } else { + billing_form.append('<input type="hidden" name="generic_payment_form-recurring" value="' + (recurring_input.prop('checked') ? 'on' : '') + '" />'); + } billing_form.append('<input type="hidden" name="generic_payment_form-description" value="' + $('#id_generic_payment_form-description').val() + '" />'); billing_form.submit(); }