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

1from django.template.loader import render_to_string 

2 

3from netbox.ui import attrs 

4 

5 

6class VRFDisplayAttr(attrs.ObjectAttribute): 

7 """ 

8 Renders a VRF reference, displaying 'Global' when no VRF is assigned. Optionally includes 

9 the route distinguisher (RD). 

10 

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' 

15 

16 def __init__(self, *args, show_rd=False, **kwargs): 

17 super().__init__(*args, **kwargs) 

18 self.show_rd = show_rd 

19 

20 def get_context(self, obj, attr, value, context): 

21 return { 

22 'show_rd': self.show_rd, 

23 } 

24 

25 def render(self, obj, context): 

26 name = context['name'] 

27 value = self.get_value(obj) 

28 

29 return render_to_string(self.template_name, { 

30 **self.get_context(obj, name, value, context), 

31 'name': name, 

32 'value': value, 

33 })