26 lines
761 B
Python
26 lines
761 B
Python
|
|
|
|
|
|
class TenantMixin:
|
|
def get_queryset(self):
|
|
qs = super().get_queryset()
|
|
tenant = self.request.user.tenant
|
|
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'] = self.request.user.tenant
|
|
return kw |