From c3996a51f16a749cdd201e7e94982f93649cb2fa Mon Sep 17 00:00:00 2001 From: Zambom Date: Wed, 11 Jan 2017 16:19:08 -0200 Subject: [PATCH] Applying maintenance config --- security/models.py | 2 +- users/views.py | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/security/models.py b/security/models.py index ba23f10..bcaeead 100644 --- a/security/models.py +++ b/security/models.py @@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _ class Security(models.Model): allow_register = models.BooleanField(_("Don't allow users to self-register"), default = False) - maintence = models.BooleanField(_("Put system in maintence mode"), default = False) + maintence = models.BooleanField(_("Put system in maintenance mode"), default = False) class Meta: verbose_name = _('Security configuration') diff --git a/users/views.py b/users/views.py index ecf1fd4..fde64cd 100644 --- a/users/views.py +++ b/users/views.py @@ -9,6 +9,8 @@ from django.db.models import Q from braces import views as braces_mixins +from security.models import Security + from .models import User from .utils import has_dependencies from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm @@ -404,16 +406,21 @@ def login(request): username = request.POST['email'] password = request.POST['password'] user = authenticate(username=username, password=password) + security = Security.objects.get(id = 1) + if user is not None: - login_user(request, user) - return redirect(reverse("home")) + if not security.maintence or user.is_staff: + login_user(request, user) + return redirect(reverse("home")) + else: + messages.error(request, _('System under maintenance. Try again later')) else: messages.error(request, _('E-mail or password are incorrect.')) context["username"] = username elif request.user.is_authenticated: return redirect(reverse('home')) - return render(request,"users/login.html",context) + return render(request, "users/login.html", context) # API VIEWS -- libgit2 0.21.2