Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.urls import reverse_lazy
- from django.views.generic import FormView
- from account.forms import RegisterAccountForm
- from account.usecases import RegisterUserAccount
- class RegisterView(FormView):
- template_name = 'account/register.html'
- form_class = RegisterAccountForm
- success_url = reverse_lazy('summary')
- def post(self, request, *args, **kwargs):
- form = self.get_form()
- if form.is_valid():
- self._run_use_case(form)
- if form.errors:
- return self.form_invalid(form)
- else:
- return self.form_valid(form)
- else:
- return self.form_invalid(form)
- def _run_use_case(self, form):
- usecase = RegisterUserAccount(
- username=form.data['username'],
- password=form.data['password'],
- first_name=form.data['first_name'],
- last_name=form.data['last_name']
- )
- # handle the output, even if it is an error.
- try:
- usecase.execute()
- except UsernameAlreadyExistError as err:
- form.add_error('username', str(err))
Add Comment
Please, Sign In to add comment