asgi fix maybe
This commit is contained in:
parent
f1876903c3
commit
ac151e5eed
1 changed files with 3 additions and 2 deletions
|
@ -2,8 +2,6 @@ from channels.db import database_sync_to_async
|
|||
from channels.middleware import BaseMiddleware as BaseChannelsMiddleware
|
||||
from django.utils.functional import LazyObject, SimpleLazyObject, lazy
|
||||
|
||||
from c3nav.control.models import UserPermissions, UserSpaceAccess
|
||||
|
||||
|
||||
class UserPermissionsLazyObject(LazyObject):
|
||||
def _setup(self):
|
||||
|
@ -23,6 +21,7 @@ class UserPermissionsMiddleware:
|
|||
return getattr(request, '_user_permissions_cache')
|
||||
except AttributeError:
|
||||
pass
|
||||
from c3nav.control.models import UserPermissions
|
||||
result = UserPermissions.get_for_user(request.user)
|
||||
request._user_permissions_cache = result
|
||||
return result
|
||||
|
@ -33,6 +32,7 @@ class UserPermissionsMiddleware:
|
|||
return getattr(request, '_user_space_accesses_cache')
|
||||
except AttributeError:
|
||||
pass
|
||||
from c3nav.control.models import UserSpaceAccess
|
||||
result = UserSpaceAccess.get_for_user(request.user)
|
||||
request._user_space_accesses_cache = result
|
||||
return result
|
||||
|
@ -46,6 +46,7 @@ class UserPermissionsMiddleware:
|
|||
class UserPermissionsChannelMiddleware(BaseChannelsMiddleware):
|
||||
async def __call__(self, scope, receive, send):
|
||||
# todo: this doesn't seem to actually be lazy. and scope["user"] isn't either?
|
||||
from c3nav.control.models import UserPermissions
|
||||
scope["user_permissions"] = UserPermissionsLazyObject()
|
||||
scope["user_permissions"]._wrapped = await database_sync_to_async(UserPermissions.get_for_user)(scope["user"])
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue