2025-08-12 13:33:25 +03:00

26 lines
797 B
Python

class TenantMixin:
def get_queryset(self):
qs = super().get_queryset()
tenant = getattr(self.request.user, 'tenant', None)
if tenant and not self.request.user.is_superuser:
# Models with patient FK:
if hasattr(qs.model, 'patient'):
return qs.filter(patient__tenant=tenant)
# NoteTemplate uses tenant directly:
return qs.filter(tenant=tenant)
return qs
def get_object(self, queryset=None):
qs = queryset or self.get_queryset()
return super().get_object(qs)
class FormKwargsMixin:
def get_form_kwargs(self):
kw = super().get_form_kwargs()
kw['user'] = self.request.user
kw['tenant'] = getattr(self.request.user, 'tenant', None)
return kw