Features: 1) Add "seo" action with "view" permission mapping in EvibesPermission; 2) Extend action serializer classes with additional "seo" allowance in multiple viewsets.

Fixes: 1) None.

Extra: 1) Minor adjustments in viewsets for consistency in handling "seo" action.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-08-18 14:57:25 +03:00
parent 5556cd008d
commit d767e17f29
2 changed files with 4 additions and 0 deletions

View file

@ -17,6 +17,7 @@ class IsOwnerOrReadOnly(permissions.BasePermission):
class EvibesPermission(permissions.BasePermission):
ACTION_PERM_MAP = {
"retrieve": "view",
"seo": "view",
"list": "view",
"create": "add",
"update": "change",

View file

@ -283,6 +283,7 @@ class CategoryViewSet(EvibesViewSet):
action_serializer_classes = {
"list": CategorySimpleSerializer,
}
additional = {"seo": "ALLOW"}
def get_queryset(self):
qs = super().get_queryset()
@ -378,6 +379,7 @@ class BrandViewSet(EvibesViewSet):
action_serializer_classes = {
"list": BrandSimpleSerializer,
}
additional = {"seo": "ALLOW"}
def get_queryset(self):
queryset = Brand.objects.all()
@ -477,6 +479,7 @@ class ProductViewSet(EvibesViewSet):
}
lookup_field = "lookup_value"
lookup_url_kwarg = "lookup_value"
additional = {"seo": "ALLOW"}
def get_queryset(self):
qs = super().get_queryset()