Commit c3996a51f16a749cdd201e7e94982f93649cb2fa

Authored by Zambom
1 parent d74a55cd

Applying maintenance config

Showing 2 changed files with 11 additions and 4 deletions   Show diff stats
security/models.py
... ... @@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
3 3  
4 4 class Security(models.Model):
5 5 allow_register = models.BooleanField(_("Don't allow users to self-register"), default = False)
6   - maintence = models.BooleanField(_("Put system in maintence mode"), default = False)
  6 + maintence = models.BooleanField(_("Put system in maintenance mode"), default = False)
7 7  
8 8 class Meta:
9 9 verbose_name = _('Security configuration')
... ...
users/views.py
... ... @@ -9,6 +9,8 @@ from django.db.models import Q
9 9  
10 10 from braces import views as braces_mixins
11 11  
  12 +from security.models import Security
  13 +
12 14 from .models import User
13 15 from .utils import has_dependencies
14 16 from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm
... ... @@ -404,16 +406,21 @@ def login(request):
404 406 username = request.POST['email']
405 407 password = request.POST['password']
406 408 user = authenticate(username=username, password=password)
  409 + security = Security.objects.get(id = 1)
  410 +
407 411 if user is not None:
408   - login_user(request, user)
409   - return redirect(reverse("home"))
  412 + if not security.maintence or user.is_staff:
  413 + login_user(request, user)
  414 + return redirect(reverse("home"))
  415 + else:
  416 + messages.error(request, _('System under maintenance. Try again later'))
410 417 else:
411 418 messages.error(request, _('E-mail or password are incorrect.'))
412 419 context["username"] = username
413 420 elif request.user.is_authenticated:
414 421 return redirect(reverse('home'))
415 422  
416   - return render(request,"users/login.html",context)
  423 + return render(request, "users/login.html", context)
417 424  
418 425  
419 426 # API VIEWS
... ...