mirror of
https://github.com/netbox-community/netbox.git
synced 2026-03-28 12:22:09 +01:00
Moved object context rendering to ObjectConfigContextView and standardized the template
This commit is contained in:
23
netbox/extras/querysets.py
Normal file
23
netbox/extras/querysets.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db.models import Q, QuerySet
|
||||
|
||||
|
||||
class ConfigContextQuerySet(QuerySet):
|
||||
|
||||
def get_for_object(self, obj):
|
||||
"""
|
||||
Return all applicable ConfigContexts for a given object. Only active ConfigContexts will be included.
|
||||
"""
|
||||
|
||||
# `device_role` for Device; `role` for VirtualMachine
|
||||
role = getattr(obj, 'device_role', None) or obj.role
|
||||
|
||||
return self.filter(
|
||||
Q(regions=obj.site.region) | Q(regions=None),
|
||||
Q(sites=obj.site) | Q(sites=None),
|
||||
Q(roles=role) | Q(roles=None),
|
||||
Q(tenants=obj.tenant) | Q(tenants=None),
|
||||
Q(platforms=obj.platform) | Q(platforms=None),
|
||||
is_active=True,
|
||||
).order_by('weight', 'name')
|
||||
Reference in New Issue
Block a user