fix: audit tickets filter by org

This commit is contained in:
wangruidong
2026-06-02 15:28:26 +08:00
committed by 老广
parent fb3b383ef3
commit a1708f7e21
2 changed files with 23 additions and 0 deletions

View File

@@ -31,6 +31,9 @@ from orgs.models import Organization
from orgs.utils import current_org, tmp_to_root_org
from rbac.permissions import RBACPermission
from terminal.models import default_storage
from tickets.filters import TicketFilter
from tickets.models import Ticket
from tickets.serializers.ticket import TicketSerializer
from users.models import User
from .backends import TYPE_ENGINE_MAPPING
from .const import ActivityChoices, ActionChoices
@@ -314,6 +317,25 @@ class PasswordChangeLogViewSet(ReportExportMixin, OrgReadonlyModelViewSet):
return self.model.filter_queryset_by_org(queryset)
class TicketAuditViewSet(OrgReadonlyModelViewSet):
model = Ticket
serializer_class = TicketSerializer
filterset_class = TicketFilter
search_fields = ['title', 'type', 'status']
ordering = ('-date_created',)
permission_classes = [RBACPermission]
rbac_perms = {
'list': 'tickets.view_ticket',
'retrieve': 'tickets.view_ticket',
}
def get_queryset(self):
queryset = self.model.objects.all()
if not current_org.is_root():
queryset = queryset.filter(org_id=str(current_org.id))
return queryset
class UserSessionViewSet(CommonApiMixin, viewsets.ModelViewSet):
http_method_names = ('get', 'post', 'head', 'options', 'trace')
serializer_class = UserSessionSerializer

View File

@@ -17,6 +17,7 @@ router.register(r'job-logs', api.JobLogAuditViewSet, 'job-log')
router.register(r'jobs', api.JobsAuditViewSet, 'job')
router.register(r'my-login-logs', api.MyLoginLogViewSet, 'my-login-log')
router.register(r'tickets', api.TicketAuditViewSet, 'ticket-audit')
router.register(r'user-sessions', api.UserSessionViewSet, 'user-session')
router.register(r'service-access-logs', api.ServiceAccessLogViewSet, 'service-access-log')