Dont remove permissions from SerializerWithPerms

This commit is contained in:
shamoon 2024-04-07 09:06:24 -07:00
parent 1ff624a137
commit e01401c494

View File

@ -166,24 +166,27 @@ class SetPermissionsMixin:
class SerializerWithPerms(serializers.Serializer):
def __init__(self, *args, **kwargs):
self.user = kwargs.pop("user", None)
full_perms = kwargs.pop("full_perms", False)
self.full_perms = kwargs.pop("full_perms", False)
super().__init__(*args, **kwargs)
try:
if full_perms:
self.fields.pop("user_can_change")
self.fields.pop("is_shared_by_requester")
else:
self.fields.pop("permissions")
except KeyError:
pass
class OwnedObjectSerializer(
SerializerWithPerms,
serializers.ModelSerializer,
SetPermissionsMixin,
):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
try:
if self.full_perms:
self.fields.pop("user_can_change")
self.fields.pop("is_shared_by_requester")
else:
self.fields.pop("permissions")
except KeyError:
pass
def get_permissions(self, obj):
view_codename = f"view_{obj.__class__.__name__.lower()}"
change_codename = f"change_{obj.__class__.__name__.lower()}"