diff --git a/accounts_app/templatetags/acc_tags.py b/accounts_app/templatetags/acc_tags.py index d91a879..4ca783a 100644 --- a/accounts_app/templatetags/acc_tags.py +++ b/accounts_app/templatetags/acc_tags.py @@ -26,7 +26,7 @@ def can_login_by_location(request): try: remote_ip = ip_address(request.META.get('REMOTE_ADDR')) if remote_ip.version == 4: - has_leases = IpLeaseModel.objects.filter(ip=str(remote_ip)).exists() + has_leases = IpLeaseModel.objects.filter(ip=str(remote_ip), abon__is_active=True).exists() return has_leases except AddressValueError: pass diff --git a/accounts_app/views.py b/accounts_app/views.py index 7cb136f..10006bc 100644 --- a/accounts_app/views.py +++ b/accounts_app/views.py @@ -1,5 +1,6 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth import logout, login, authenticate +from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth.views import LoginView from django.core.exceptions import PermissionDenied from django.http import HttpResponseRedirect @@ -50,7 +51,8 @@ def location_login(request): return redirect('client_side:home') return redirect(nextl) return render(request, 'accounts/login.html', { - 'next': nextl + 'next': nextl, + 'form': AuthenticationForm() }) except NoReverseMatch: return redirect('client_side:home') diff --git a/djing/lib/auth_backends.py b/djing/lib/auth_backends.py index 84c9a76..8683a14 100644 --- a/djing/lib/auth_backends.py +++ b/djing/lib/auth_backends.py @@ -40,7 +40,7 @@ class LocationAuthBackend(ModelBackend): def authenticate(self, request, byip, **kwargs): try: remote_ip = ip_address(request.META.get('REMOTE_ADDR')) - lease = IpLeaseModel.objects.filter(ip=str(remote_ip)).first() + lease = IpLeaseModel.objects.filter(ip=str(remote_ip), abon__is_active=True).first() if lease is None: return user = Abon.objects.get(ip_addresses=lease)