from django.contrib.auth.models import User
from django.db.models import QuerySet, Q

import customrolepermissions


class SniperAccountQuerySet(QuerySet):
    def related_to(self, request_user: User):
        queryset = self._clone()
        if customrolepermissions.permissions.has_permission_exactly(request_user, 'is_management_manager'):
            pass
        else:
            queryset = queryset.filter(Q(creator=request_user))
        return queryset


class SniperOrderQuerySet(QuerySet):
    def related_to(self, request_user: User):
        queryset = self._clone()
        if customrolepermissions.permissions.has_permission_exactly(request_user, 'is_management_manager'):
            pass
        else:
            queryset = queryset.filter(Q(creator=request_user))
        return queryset
