Handle js success/error messages

This commit is contained in:
PCoder 2020-12-31 10:32:25 +05:30
parent c3286a68a5
commit 42c9ec6f28
3 changed files with 28 additions and 14 deletions

View file

@ -333,6 +333,9 @@
var error_url = '{{ error_msg.redirect }}';
var error_msg = '{{ error_msg.msg_body }}';
var error_title = '{{ error_msg.msg_title }}';
var success_msg = '{{ success_msg.msg_body }}';
var success_title = '{{ success_msg.msg_title }}';
var success_url = '{{ success_msg.redirect }}';
window.stripeKey = "{{stripe_key}}";
</script>
{%endblock%}

View file

@ -735,6 +735,14 @@ class OrderConfirmationView(DetailView, FormView):
),
'cms_integration': get_cms_integration('default'),
'error_msg': get_error_response_dict("Error", request),
'success_msg': {
'msg_title': _("Thank you !"),
'msg_body': _("Your product will be provisioned as soon as "
"we receive the payment."),
'redirect': reverse('hosting:invoices') if
request.user.is_authenticated() else
reverse('datacenterlight:index')
},
'stripe_key': settings.STRIPE_API_PUBLIC_KEY,
})
return render(request, self.template_name, context)

View file

@ -104,19 +104,22 @@ $(document).ready(function() {
}
).then(function(result) {
window.result = result;
fa_icon = $('.modal-icon > .fa');
modal_btn = $('#createvm-modal-done-btn');
if (result.error) {
// Display error.message in your UI.
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
modal_btn.attr('href', error_url).removeClass('hide');
fa_icon.attr('class', 'fa fa-close');
modal_btn.attr('class', '').addClass('btn btn-danger btn-ok btn-wide');
$('#createvm-modal-title').text(error_title);
$('#createvm-modal-body').html(result.error.message + " " + error_msg);
} else {
// The payment has succeeded
// Display a success message
alert("Thanks for the order. Your product will be provisioned " +
"as soon as we receive the payment. Thank you.");
modal_btn.attr('href', err).removeClass('hide');
modal_btn.attr('href', success_url).removeClass('hide');
fa_icon.attr('class', 'checkmark');
$('#createvm-modal-title').text(data.success.msg_title);
$('#createvm-modal-body').html(data.success.msg_body);
$('#createvm-modal-title').text(success_title);
$('#createvm-modal-body').html(success_msg);
}
});
}