Coverage for ipam/ui/attrs.py: 69%
13 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from django.template.loader import render_to_string
3from netbox.ui import attrs
6class VRFDisplayAttr(attrs.ObjectAttribute):
7 """
8 Renders a VRF reference, displaying 'Global' when no VRF is assigned. Optionally includes
9 the route distinguisher (RD).
11 Parameters:
12 show_rd (bool): If true, the VRF's RD will be included. (Default: False)
13 """
14 template_name = 'ipam/attrs/vrf.html'
16 def __init__(self, *args, show_rd=False, **kwargs):
17 super().__init__(*args, **kwargs)
18 self.show_rd = show_rd
20 def get_context(self, obj, attr, value, context):
21 return {
22 'show_rd': self.show_rd,
23 }
25 def render(self, obj, context):
26 name = context['name']
27 value = self.get_value(obj)
29 return render_to_string(self.template_name, {
30 **self.get_context(obj, name, value, context),
31 'name': name,
32 'value': value,
33 })