new_serialize for access restrictions
This commit is contained in:
parent
b8cc720c04
commit
38c6e6a863
2 changed files with 5 additions and 7 deletions
|
@ -17,6 +17,8 @@ from c3nav.mapdata.models.base import SerializableMixin, TitledMixin
|
||||||
|
|
||||||
|
|
||||||
class AccessRestriction(TitledMixin, models.Model):
|
class AccessRestriction(TitledMixin, models.Model):
|
||||||
|
new_serialize = True
|
||||||
|
|
||||||
"""
|
"""
|
||||||
An access restriction
|
An access restriction
|
||||||
"""
|
"""
|
||||||
|
@ -28,11 +30,6 @@ class AccessRestriction(TitledMixin, models.Model):
|
||||||
verbose_name_plural = _('Access Restrictions')
|
verbose_name_plural = _('Access Restrictions')
|
||||||
default_related_name = 'accessrestrictions'
|
default_related_name = 'accessrestrictions'
|
||||||
|
|
||||||
def _serialize(self, **kwargs):
|
|
||||||
result = super()._serialize(**kwargs)
|
|
||||||
result['groups'] = tuple(group.pk for group in self.groups.all())
|
|
||||||
return result
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def qs_for_request(cls, request):
|
def qs_for_request(cls, request):
|
||||||
return cls.objects.filter(cls.q_for_request(request))
|
return cls.objects.filter(cls.q_for_request(request))
|
||||||
|
@ -62,6 +59,8 @@ class AccessRestriction(TitledMixin, models.Model):
|
||||||
|
|
||||||
|
|
||||||
class AccessRestrictionGroup(TitledMixin, models.Model):
|
class AccessRestrictionGroup(TitledMixin, models.Model):
|
||||||
|
new_serialize = True
|
||||||
|
|
||||||
"""
|
"""
|
||||||
An access restriction group
|
An access restriction group
|
||||||
"""
|
"""
|
||||||
|
@ -188,7 +187,6 @@ class AccessPermissionToken(models.Model):
|
||||||
|
|
||||||
|
|
||||||
class AccessPermissionSSOGrant(models.Model):
|
class AccessPermissionSSOGrant(models.Model):
|
||||||
|
|
||||||
provider = models.CharField(max_length=32, verbose_name=_('SSO Backend'))
|
provider = models.CharField(max_length=32, verbose_name=_('SSO Backend'))
|
||||||
group = models.CharField(max_length=64, verbose_name=_('SSO Group'))
|
group = models.CharField(max_length=64, verbose_name=_('SSO Group'))
|
||||||
access_restriction = models.ForeignKey(AccessRestriction, on_delete=models.CASCADE, null=True, blank=True)
|
access_restriction = models.ForeignKey(AccessRestriction, on_delete=models.CASCADE, null=True, blank=True)
|
||||||
|
|
|
@ -390,7 +390,7 @@ class AccessRestrictionSchema(TitledSchema, DjangoModelSchema):
|
||||||
|
|
||||||
If they do, you can only see them if you have a permission to see objects with this access retriction.
|
If they do, you can only see them if you have a permission to see objects with this access retriction.
|
||||||
"""
|
"""
|
||||||
open: bool
|
public: bool
|
||||||
groups: list[PositiveInt] = APIField(
|
groups: list[PositiveInt] = APIField(
|
||||||
title="access restriction groups"
|
title="access restriction groups"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue