@@ -50,55 +50,62 @@ <h5 class="card-header">{% trans "Custom Object Type" %}</h5>
5050 < div class ="card ">
5151 < h2 class ="card-header "> Fields</ h2 >
5252 < table class ="table table-hover attr-table ">
53- {% for field in object.fields.all %}
54- < tr >
55- < th scope ="row "> {{ field }}</ th >
56- < td > {{ field|get_field_type_verbose_name }}</ td >
57- < td > {% if field.type == "object" or field.type == "multiobject" %}{{ field|get_field_object_type }}{% endif %}</ td >
58- < td >
59- {% if field.required %}
60- < i
61- class ="mdi mdi-asterisk text-primary "
62- data-bs-toggle ="tooltip "
63- data-bs-placement ="right "
64- title ="Required "
65- > </ i >
66- {% endif %}
67- </ td >
68- < td >
69- {% if field.unique %}
70- < i
71- class ="mdi mdi-snowflake text-primary "
72- data-bs-toggle ="tooltip "
73- data-bs-placement ="right "
74- title ="Unique "
75- > </ i >
76- {% endif %}
77- </ td >
78- < td >
79- {% if field.primary %}
80- < i
81- class ="mdi mdi-text-short text-primary "
82- data-bs-toggle ="tooltip "
83- data-bs-placement ="right "
84- title ="Primary name field "
85- > </ i >
86- {% endif %}
87- </ td >
88- < td >
89- < span class ="btn-group dropdown ">
90- < a class ="btn btn-sm btn-warning " href ="{% url 'plugins:netbox_custom_objects:customobjecttypefield_edit' pk=field.pk %}?return_url={{ object.get_absolute_url }} " type ="button "
91- aria-label ="{attrs.title} "> < i class ="mdi mdi-pencil "> </ i > </ a >
92- < a class ="btn btn-sm btn-warning dropdown-toggle " type ="button " data-bs-toggle ="dropdown "
93- style ="padding-left: 2px ">
94- < span class ="visually-hidden "> {toggle_text}</ span > </ a >
95- < ul class ="dropdown-menu ">
96- < li > < a class ="dropdown-item " href ="{% url 'plugins:netbox_custom_objects:customobjecttypefield_delete' pk=field.pk %}?return_url={{ object.get_absolute_url }} ">
97- < i class ="mdi mdi-trash-can-outline "> </ i > Delete</ a > </ li >
98- </ ul >
99- </ span >
100- </ td >
101- </ tr >
53+ {% for group_name, group_fields in field_groups.items %}
54+ {% if group_name %}
55+ < tr class ="table-group-header ">
56+ < th scope ="row " colspan ="7 " class ="fw-bold "> {{ group_name }}</ th >
57+ </ tr >
58+ {% endif %}
59+ {% for field in group_fields %}
60+ < tr >
61+ < th scope ="row "> {{ field }}</ th >
62+ < td > {{ field|get_field_type_verbose_name }}</ td >
63+ < td > {% if field.type == "object" or field.type == "multiobject" %}{{ field|get_field_object_type }}{% endif %}</ td >
64+ < td >
65+ {% if field.required %}
66+ < i
67+ class ="mdi mdi-asterisk text-primary "
68+ data-bs-toggle ="tooltip "
69+ data-bs-placement ="right "
70+ title ="Required "
71+ > </ i >
72+ {% endif %}
73+ </ td >
74+ < td >
75+ {% if field.unique %}
76+ < i
77+ class ="mdi mdi-snowflake text-primary "
78+ data-bs-toggle ="tooltip "
79+ data-bs-placement ="right "
80+ title ="Unique "
81+ > </ i >
82+ {% endif %}
83+ </ td >
84+ < td >
85+ {% if field.primary %}
86+ < i
87+ class ="mdi mdi-text-short text-primary "
88+ data-bs-toggle ="tooltip "
89+ data-bs-placement ="right "
90+ title ="Primary name field "
91+ > </ i >
92+ {% endif %}
93+ </ td >
94+ < td >
95+ < span class ="btn-group dropdown ">
96+ < a class ="btn btn-sm btn-warning " href ="{% url 'plugins:netbox_custom_objects:customobjecttypefield_edit' pk=field.pk %}?return_url={{ object.get_absolute_url }} " type ="button "
97+ aria-label ="{attrs.title} "> < i class ="mdi mdi-pencil "> </ i > </ a >
98+ < a class ="btn btn-sm btn-warning dropdown-toggle " type ="button " data-bs-toggle ="dropdown "
99+ style ="padding-left: 2px ">
100+ < span class ="visually-hidden "> {toggle_text}</ span > </ a >
101+ < ul class ="dropdown-menu ">
102+ < li > < a class ="dropdown-item " href ="{% url 'plugins:netbox_custom_objects:customobjecttypefield_delete' pk=field.pk %}?return_url={{ object.get_absolute_url }} ">
103+ < i class ="mdi mdi-trash-can-outline "> </ i > Delete</ a > </ li >
104+ </ ul >
105+ </ span >
106+ </ td >
107+ </ tr >
108+ {% endfor %}
102109 {% endfor %}
103110 </ table >
104111 </ div >
0 commit comments