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,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
3 3
4 class Security(models.Model): 4 class Security(models.Model):
5 allow_register = models.BooleanField(_("Don't allow users to self-register"), default = False) 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 class Meta: 8 class Meta:
9 verbose_name = _('Security configuration') 9 verbose_name = _('Security configuration')
users/views.py
@@ -9,6 +9,8 @@ from django.db.models import Q @@ -9,6 +9,8 @@ from django.db.models import Q
9 9
10 from braces import views as braces_mixins 10 from braces import views as braces_mixins
11 11
  12 +from security.models import Security
  13 +
12 from .models import User 14 from .models import User
13 from .utils import has_dependencies 15 from .utils import has_dependencies
14 from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm 16 from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm
@@ -404,16 +406,21 @@ def login(request): @@ -404,16 +406,21 @@ def login(request):
404 username = request.POST['email'] 406 username = request.POST['email']
405 password = request.POST['password'] 407 password = request.POST['password']
406 user = authenticate(username=username, password=password) 408 user = authenticate(username=username, password=password)
  409 + security = Security.objects.get(id = 1)
  410 +
407 if user is not None: 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 else: 417 else:
411 messages.error(request, _('E-mail or password are incorrect.')) 418 messages.error(request, _('E-mail or password are incorrect.'))
412 context["username"] = username 419 context["username"] = username
413 elif request.user.is_authenticated: 420 elif request.user.is_authenticated:
414 return redirect(reverse('home')) 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 # API VIEWS 426 # API VIEWS