18 lines
634 B
Python
18 lines
634 B
Python
from __future__ import annotations
|
|
|
|
|
|
def netbox_utilities_tenant_required() -> bool:
|
|
"""Return the effective tenant policy without requiring the optional plugin."""
|
|
try:
|
|
from netbox_utilities.runtime import tenant_required
|
|
except ImportError:
|
|
return False
|
|
return bool(tenant_required())
|
|
|
|
|
|
def relation_required_before_save(field, *, tenant_required: bool) -> bool:
|
|
if not tenant_required or field.name != "tenant":
|
|
return False
|
|
related_model = getattr(field.remote_field, "model", None)
|
|
return getattr(getattr(related_model, "_meta", None), "label_lower", None) == "tenancy.tenant"
|