X-Git-Url: https://git.mdrn.pl/cas.git/blobdiff_plain/37e278e43ece42375352c07d9f04991ef58d992c..de84f8005cbb194987bd71fd2e1282f3a113f3cf:/src/accounts/views.py diff --git a/src/accounts/views.py b/src/accounts/views.py index b00dd20..799b4fe 100644 --- a/src/accounts/views.py +++ b/src/accounts/views.py @@ -1,16 +1,24 @@ # 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(), }) @@ -21,7 +29,7 @@ def account_change_basic_profile(request): 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) @@ -35,7 +43,18 @@ def account_change_password(request): 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')