Add django-scopes
This commit is contained in:
parent
2dcc5650a9
commit
6e6f2d0993
4 changed files with 22 additions and 2 deletions
|
@ -9,6 +9,7 @@ dependencies = [
|
|||
"cryptography>=44.0.2",
|
||||
"django==5.2b1",
|
||||
"django-allauth>=65.5.0",
|
||||
"django-scopes>=2.0.0",
|
||||
"django-template-partials>=24.4",
|
||||
"pillow>=11.1.0",
|
||||
"psycopg2-binary>=2.9.10",
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from django.shortcuts import get_object_or_404
|
||||
from django.urls import resolve
|
||||
from django_scopes import scope
|
||||
|
||||
from servala.core.models import Organization
|
||||
|
||||
|
@ -16,7 +17,8 @@ class OrganizationMiddleware:
|
|||
if organization_slug:
|
||||
pk = organization_slug.rsplit("-", maxsplit=1)[-1]
|
||||
request.organization = get_object_or_404(Organization, pk=pk)
|
||||
else:
|
||||
request.organization = None
|
||||
|
||||
with scope(organization=request.organization):
|
||||
return self.get_response(request)
|
||||
|
||||
request.organization = None
|
||||
return self.get_response(request)
|
||||
|
|
|
@ -4,6 +4,7 @@ from django.urls import reverse
|
|||
from django.utils.functional import cached_property
|
||||
from django.utils.text import slugify
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_scopes import ScopedManager
|
||||
|
||||
from .mixins import ServalaModelMixin
|
||||
|
||||
|
@ -136,6 +137,8 @@ class OrganizationMembership(ServalaModelMixin, models.Model):
|
|||
verbose_name=_("Role"),
|
||||
)
|
||||
|
||||
objects = ScopedManager(organization="organization")
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Organization membership")
|
||||
verbose_name_plural = _("Organization memberships")
|
||||
|
|
14
uv.lock
generated
14
uv.lock
generated
|
@ -248,6 +248,18 @@ dependencies = [
|
|||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/66/f8/b58f84c29bcbca3798939279a98e2423e6e53a38c29e3fed7700ff3d6984/django_allauth-65.5.0.tar.gz", hash = "sha256:1a564fd2f5413054559078c2b7146796b517c1e7a38c6312e9de7c9bb708325d", size = 1624216 }
|
||||
|
||||
[[package]]
|
||||
name = "django-scopes"
|
||||
version = "2.0.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "django" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/a5/d7/a26ccb685b64e8e0b21f107b01ea16636a899a380175fe29d7c01d3d8395/django-scopes-2.0.0.tar.gz", hash = "sha256:d190d9a2462bce812bc6fdd254e47ba031f6fba3279c8ac7397c671df0a4e54f", size = 15118 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/15/3d/94d82839c111a36145b5ec1fb407a85f9a460af5974a07f4c6d3cc414358/django_scopes-2.0.0-py3-none-any.whl", hash = "sha256:9cf521b4d543ffa2ff6369fb5a1dda03567e862ba89626c01405f3d93ca04724", size = 16660 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "django-template-partials"
|
||||
version = "24.4"
|
||||
|
@ -658,6 +670,7 @@ dependencies = [
|
|||
{ name = "cryptography" },
|
||||
{ name = "django" },
|
||||
{ name = "django-allauth" },
|
||||
{ name = "django-scopes" },
|
||||
{ name = "django-template-partials" },
|
||||
{ name = "pillow" },
|
||||
{ name = "psycopg2-binary" },
|
||||
|
@ -683,6 +696,7 @@ requires-dist = [
|
|||
{ name = "cryptography", specifier = ">=44.0.2" },
|
||||
{ name = "django", specifier = "==5.2b1" },
|
||||
{ name = "django-allauth", specifier = ">=65.5.0" },
|
||||
{ name = "django-scopes", specifier = ">=2.0.0" },
|
||||
{ name = "django-template-partials", specifier = ">=24.4" },
|
||||
{ name = "pillow", specifier = ">=11.1.0" },
|
||||
{ name = "psycopg2-binary", specifier = ">=2.9.10" },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue