# Create your views here.
from django import http
-from django.utils.translation import ugettext as __
-from django.views.generic.simple import direct_to_template
-from django.views.decorators.http import require_POST
from django.contrib.auth.decorators import login_required
+from django.contrib import messages
+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):
- return direct_to_template(request, "account/profile.html", {
+ return render(request, "account/profile.html", {
"basic_form": basic_form or UserBasicForm(instance=request.user),
"pass_form": pass_form or UserPasswordForm(),
+ "services": Service.objects.all(),
})
if form.is_valid():
form.save()
- request.user.message_set.create(message=__("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()
- request.user.message_set.create(message=__("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')