Private
Public Access
1
0

fixing rules backend error

This commit is contained in:
2024-06-01 17:38:33 +02:00
parent 4c6fea4159
commit 4354bb125f
4 changed files with 18 additions and 4 deletions

14
rowers/backends.py Normal file
View File

@@ -0,0 +1,14 @@
from rules.permissions import ObjectPermissionBackend
from rowers.models import User
class MyObjectPermissionBackend(ObjectPermissionBackend):
def user_can_authenticate(self, user):
return getattr(user, "is_active", True)
def get_user(self, user_id):
try:
user = User.objects.get(pk=user_id)
except User.DoesNotExist:
return None
return user if self.user_can_authenticate(user) else None

Binary file not shown.

View File

@@ -2,7 +2,7 @@ from django.utils.encoding import force_bytes, force_str
from rowers.tokens import account_activation_token
from django.contrib.sites.shortcuts import get_current_site
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.contrib.auth.backends import ModelBackend
from rowers.views.statements import *
from django.core.mail import EmailMessage
@@ -817,7 +817,7 @@ def useractivate(request, uidb64, token): # pragma: no cover
messages.info(
request, 'Thank you for your email confirmation. You are now signed in to your account.')
login(request, user, backend=settings.AUTHENTICATION_BACKENDS[0])
login(request, user, backend='django.contrib.auth.backends.ModelBackend')
url = reverse('workouts_view')
# if user.rower.rowerplan == 'freecoach':
# url+='?next=/rowers/me/teams'

View File

@@ -90,10 +90,10 @@ INSTALLED_APPS = [
AUTHENTICATION_BACKENDS = (
#'oauth2_provider.backends.OAuth2Backend',
# Uncomment following if you want to access the admin
'rules.permissions.ObjectPermissionBackend',
'django.contrib.auth.backends.ModelBackend',
'django.contrib.auth.backends.ModelBackend',
'django.contrib.auth.backends.RemoteUserBackend',
'rowers.backends.MyObjectPermissionBackend',
#'rules.permissions.ObjectPermissionBackend',
)
MIDDLEWARE = [