Guest User

Untitled

a guest
Jan 5th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. from django.urls import reverse_lazy
  2. from django.views.generic import FormView
  3.  
  4. from account.forms import RegisterAccountForm
  5. from account.usecases import RegisterUserAccount
  6.  
  7.  
  8. class RegisterView(FormView):
  9. template_name = 'account/register.html'
  10. form_class = RegisterAccountForm
  11. success_url = reverse_lazy('summary')
  12.  
  13. def post(self, request, *args, **kwargs):
  14. form = self.get_form()
  15.  
  16. if form.is_valid():
  17. self._run_use_case(form)
  18. if form.errors:
  19. return self.form_invalid(form)
  20. else:
  21. return self.form_valid(form)
  22. else:
  23. return self.form_invalid(form)
  24.  
  25. def _run_use_case(self, form):
  26. usecase = RegisterUserAccount(
  27. username=form.data['username'],
  28. password=form.data['password'],
  29. first_name=form.data['first_name'],
  30. last_name=form.data['last_name']
  31. )
  32.  
  33. # handle the output, even if it is an error.
  34. try:
  35. usecase.execute()
  36. except UsernameAlreadyExistError as err:
  37. form.add_error('username', str(err))
Add Comment
Please, Sign In to add comment