from django import http
from django.contrib.auth.decorators import login_required
from django.contrib import messages
-from django.shortcuts import render
-from django.utils.translation import ugettext as __
+from django.shortcuts import render, redirect
+from django.utils.translation import ugettext as _
from django.views.decorators.http import require_POST
from accounts.forms import UserBasicForm, UserPasswordForm
from .models import Service
+from django.views.generic.edit import FormView
+from django.contrib.auth import login
+from django.contrib.auth.models import User
+from django.contrib.auth.forms import UserCreationForm
+
@login_required
def account_profile(request, basic_form=None, pass_form=None):
if form.is_valid():
form.save()
- messages.add_message(request, messages.INFO, __("Profile has been changed."))
+ messages.add_message(request, messages.INFO, _("Profile has been changed."))
return http.HttpResponseRedirect('/accounts/')
return account_profile(request, basic_form=form)
request.user.set_password(form.cleaned_data['new_password'])
request.user.save()
- messages.add_message(request, messages.INFO, __("Password has been changed."))
+ messages.add_message(request, messages.INFO, _("Password has been changed."))
return http.HttpResponseRedirect('/accounts/')
return account_profile(request, pass_form=form)
+
+
+class Register(FormView):
+ form_class = UserCreationForm
+ template_name = "account/register.html"
+
+ def form_valid(self, form):
+ user = form.save()
+ user.backend='django.contrib.auth.backends.ModelBackend'
+ login(self.request, user)
+ return redirect('account_profile')