fix: Allow superusers delete adhoc and playbook

This commit is contained in:
wangruidong
2025-04-16 17:07:16 +08:00
committed by 老广
parent 0131eaa6db
commit ee97e45cc3
3 changed files with 13 additions and 17 deletions

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from django.db.models import Q
from django.utils.translation import gettext_lazy as _
from common.api.generic import JMSBulkModelViewSet
from common.permissions import IsOwnerOrAdminWritable
from common.utils.http import is_true
from rbac.permissions import RBACPermission
from ..const import Scope
@@ -17,7 +17,7 @@ __all__ = [
class AdHocViewSet(JMSBulkModelViewSet):
queryset = AdHoc.objects.all()
serializer_class = AdHocSerializer
permission_classes = (RBACPermission,)
permission_classes = (RBACPermission, IsOwnerOrAdminWritable)
search_fields = ('name', 'comment')
filterset_fields = ['scope', 'creator']
@@ -26,13 +26,6 @@ class AdHocViewSet(JMSBulkModelViewSet):
self.check_object_permissions(self.request, obj)
return True
def check_object_permissions(self, request, obj):
if request.method != 'GET' and obj.creator != request.user:
self.permission_denied(
request, message={"detail": _("Deleting other people's script is not allowed")}
)
return super().check_object_permissions(request, obj)
def get_queryset(self):
queryset = super().get_queryset()
user = self.request.user