Improve registration view workflow now that a queued task is used

This commit is contained in:
Roberto Rosario
2014-10-11 01:59:38 -04:00
parent ce6bef79a6
commit feb90cb426

View File

@@ -7,7 +7,6 @@ from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
from .exceptions import AlreadyRegistered
from .forms import RegistrationForm
from .models import RegistrationSingleton
from .tasks import task_registration_register
@@ -16,18 +15,16 @@ from .tasks import task_registration_register
def form_view(request):
registration = RegistrationSingleton.objects.get()
if registration.registered:
messages.error(request, _(u'Your copy is already registered.'))
return HttpResponseRedirect(reverse('main:home'))
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
try:
task_registration_register.apply_async(args=[form.cleaned_data], queue='tools')
messages.success(request, _(u'Thank you for registering.'))
return HttpResponseRedirect(reverse('main:home'))
except AlreadyRegistered:
messages.error(request, _(u'Your copy is already registered.'))
return HttpResponseRedirect(reverse('main:home'))
except Exception as exception:
messages.error(request, _(u'Error submiting form; %s.') % exception)
task_registration_register.apply_async(args=[form.cleaned_data], queue='tools')
messages.success(request, _(u'Thank you for registering.'))
return HttpResponseRedirect(reverse('main:home'))
else:
form = RegistrationForm()