Coverage for ipam/tables/template_code.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1AGGREGATE_COPY_BUTTON = """ 

2{% copy_content record.pk prefix="aggregate_" %} 

3""" 

4 

5PREFIX_LINK = """ 

6{% if record.pk %} 

7 <a href="{{ record.get_absolute_url }}" id="prefix_{{ record.pk }}">{{ record.prefix }}</a> 

8{% else %} 

9 <a href="{% url 'ipam:prefix_add' %}?prefix={{ record }}{% if object.vrf %}&vrf={{ object.vrf.pk }}{% endif %}{% if object.scope %}&scope_content_type={{ object.scope_type.pk }}&scope_object_id={{ object.scope.pk }}{% endif %}{% if object.tenant %}&tenant_group={{ object.tenant.group.pk }}&tenant={{ object.tenant.pk }}{% endif %}">{{ record.prefix }}</a> 

10{% endif %} 

11""" 

12 

13PREFIX_COPY_BUTTON = """ 

14{% copy_content record.pk prefix="prefix_" %} 

15""" 

16 

17PREFIX_LINK_WITH_DEPTH = """ 

18{% load helpers %} 

19{% if record.depth %} 

20 <div class="record-depth"> 

21 {% for i in record.depth|as_range %} 

22 <span>•</span> 

23 {% endfor %} 

24 </div> 

25{% endif %} 

26""" + PREFIX_LINK 

27 

28# Annotate the ID of each IP address for copy-to-clipboard functionality 

29IPADDRESS_LINK = """ 

30{% if record.address %} 

31 <a href="{{ record.get_absolute_url }}" id="ipaddress_{{ record.pk}}">{{ record }}</a> 

32{% elif record.start_address %} 

33 <a href="{{ record.get_absolute_url }}">{{ record }}</a> 

34{% elif perms.ipam.add_ipaddress %} 

35 <a href="{% url 'ipam:ipaddress_add' %}?address={{ record.first_ip }}{% if object.vrf %}&vrf={{ object.vrf.pk }}{% endif %}{% if object.tenant %}&tenant={{ object.tenant.pk }}{% endif %}&return_url={% url 'ipam:prefix_ipaddresses' pk=object.pk %}" class="btn btn-sm btn-success">{{ record.title }}</a> 

36{% else %} 

37 {{ record.title }} 

38{% endif %} 

39""" 

40 

41IPADDRESS_COPY_BUTTON = """ 

42{% if record.address %} 

43 {% copy_content record.pk prefix="ipaddress_" %} 

44{% endif %} 

45""" 

46 

47IPADDRESS_ASSIGN_LINK = """ 

48<a href="{% url 'ipam:ipaddress_edit' pk=record.pk %}?{% if request.GET.interface %}interface={{ request.GET.interface }}{% elif request.GET.vminterface %}vminterface={{ request.GET.vminterface }}{% endif %}&return_url={{ request.GET.return_url }}">{{ record }}</a> 

49""" 

50 

51VRF_LINK = """ 

52{% if value %} 

53 <a href="{{ record.vrf.get_absolute_url }}">{{ record.vrf }}</a> 

54{% elif object.vrf %} 

55 <a href="{{ object.vrf.get_absolute_url }}">{{ object.vrf }}</a> 

56{% else %} 

57 Global 

58{% endif %} 

59""" 

60 

61VLAN_LINK = """ 

62{% if record.pk %} 

63 <a href="{{ record.get_absolute_url }}">{{ record.vid }}</a> 

64{% elif perms.ipam.add_vlan %} 

65 <a href="{% url 'ipam:vlan_add' %}?vid={{ record.vid }}{% if record.vlan_group %}&group={{ record.vlan_group.pk }}{% endif %}" class="btn btn-sm btn-success">{{ record.available }} VLAN{{ record.available|pluralize }} available</a> 

66{% else %} 

67 {{ record.available }} VLAN{{ record.available|pluralize }} available 

68{% endif %} 

69""" 

70 

71VLAN_PREFIXES = """ 

72{% for prefix in value.all %} 

73 <a href="{% url 'ipam:prefix' pk=prefix.pk %}">{{ prefix }}</a>{% if not forloop.last %}<br />{% endif %} 

74{% endfor %} 

75""" 

76 

77VLANGROUP_BUTTONS = """ 

78{% with next_vid=record.get_next_available_vid %} 

79 {% if next_vid and perms.ipam.add_vlan %} 

80 <a href="{% url 'ipam:vlan_add' %}?group={{ record.pk }}&vid={{ next_vid }}" title="Add VLAN" class="btn btn-sm btn-success"> 

81 <i class="mdi mdi-plus-thick" aria-hidden="true"></i> 

82 </a> 

83 {% endif %} 

84{% endwith %} 

85""" 

86 

87VLAN_MEMBER_TAGGED = """ 

88{% if record.untagged_vlan_id == object.pk %} 

89 <span class="text-danger"><i class="mdi mdi-close-thick"></i></span> 

90{% else %} 

91 <span class="text-success"><i class="mdi mdi-check-bold"></i></span> 

92{% endif %} 

93"""