Files
modoboa/auth/views.py
T
Antoine Nguyen 9cde410ae4 * Many changes about internationalization (using gettext_noop when needed for example)
* Some strings were not detected by makemessages (for example in javascript files, behind comments...). There are still some issues with that but I think I'll have to wait a future Django release.
* Support for per-user language selection is almost done.

see #166
2011-09-14 14:18:46 +02:00

52 lines
2.0 KiB
Python
Executable File

# -*- coding: utf-8 -*-
from django.contrib.auth import authenticate, login, logout
from django.http import HttpResponse, HttpResponseRedirect
from django.template import RequestContext
from django.shortcuts import render_to_response
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from modoboa.lib import events
import modoboa.admin
from forms import LoginForm
from modoboa.auth.lib import *
def dologin(request):
error = None
if request.method == "POST":
form = LoginForm(request.POST)
user = authenticate(username=request.POST["username"],
password=request.POST["password"])
if user:
if user.is_active:
login(request, user)
if request.user.id != 1:
request.session["password"] = encrypt(request.POST["password"])
request.session["django_language"] = \
parameters.get_user(request.user, "LANG", app="general")
events.raiseEvent("UserLogin", request=request,
username=request.POST["username"],
password=request.POST["password"])
next = request.POST["next"]
if next == "None":
next = reverse(modoboa.admin.views.domains)
return HttpResponseRedirect(next)
else:
error = _("Account is disabled.")
error = _("Your username and password didn't match. Please try again.")
else:
form = LoginForm()
next = request.GET.has_key("next") and request.GET["next"] or None
return render_to_response("registration/login.html", {
"form" : form, "error" : error, "next" : next
}, context_instance=RequestContext(request))
def dologout(request):
events.raiseEvent("UserLogout", request=request)
logout(request)
return HttpResponseRedirect(reverse(dologin))