fix/de los tickets T2026-05-027, T2025-09-004 y T2025-09-056
This commit is contained in:
@@ -11,6 +11,7 @@ from core.permissions import (
|
||||
get_org_context,
|
||||
require_permission,
|
||||
user_has_permission,
|
||||
user_has_role,
|
||||
)
|
||||
|
||||
from api.organization.models import UsoAlmacenamiento, Organizacion
|
||||
@@ -136,20 +137,28 @@ class ViewPedimentoServicesUtilInformation(LoggingMixin, APIView, FiltroPorOrgan
|
||||
)
|
||||
|
||||
def get_queryset(self):
|
||||
if not self.request.user.is_authenticated or not hasattr(self.request.user, 'organizacion'):
|
||||
user = self.request.user
|
||||
if not user.is_authenticated or not hasattr(user, 'organizacion'):
|
||||
return None
|
||||
|
||||
org = get_org_context(self.request.user)
|
||||
|
||||
org = get_org_context(user)
|
||||
if not org:
|
||||
return ProcesamientoPedimento.objects.none()
|
||||
|
||||
if self.request.user.is_importador:
|
||||
return ProcesamientoPedimento.objects.filter(
|
||||
pedimento__organizacion=org,
|
||||
pedimento__contribuyente__in=self.request.user.rfc.all(),
|
||||
)
|
||||
|
||||
return ProcesamientoPedimento.objects.filter(pedimento__organizacion=org)
|
||||
qs = ProcesamientoPedimento.objects.filter(pedimento__organizacion=org)
|
||||
# Misma precedencia que los mixins de filtrado: superuser y roles
|
||||
# operativos ven todo lo de su org; is_importador no los degrada.
|
||||
if (
|
||||
user.is_superuser or
|
||||
user_has_role(user, 'admin') or
|
||||
user_has_role(user, 'developer') or
|
||||
user_has_role(user, 'Agente Aduanal') or
|
||||
user_has_role(user, 'user')
|
||||
):
|
||||
return qs
|
||||
if user.is_importador:
|
||||
return qs.filter(pedimento__contribuyente__in=user.rfc.all())
|
||||
return ProcesamientoPedimento.objects.none()
|
||||
|
||||
def get(self, request):
|
||||
queryset = self.get_queryset()
|
||||
|
||||
Reference in New Issue
Block a user