diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index baf0cbd2e..483ed7221 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -17,6 +17,9 @@ class VRFForm(forms.ModelForm, BootstrapMixin): class Meta: model = VRF fields = ['name', 'rd', 'description'] + labels = { + 'rd': "RD", + } help_texts = { 'rd': "Route distinguisher in any format", } diff --git a/netbox/templates/circuits/circuit_edit.html b/netbox/templates/circuits/circuit_edit.html index 4c20139ca..70b9fc839 100644 --- a/netbox/templates/circuits/circuit_edit.html +++ b/netbox/templates/circuits/circuit_edit.html @@ -1,86 +1,46 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing {{ obj }}{% else %}Add a circuit{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

Editing {{ obj.provider }} circuit {{ obj.cid }}

-{% else %} -

Add a Circuit

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Details
+
+ {% render_field form.provider %} + {% render_field form.cid %} + {% render_field form.type %} + {% render_field form.install_date %} + {% render_field form.port_speed %} + {% render_field form.commit_rate %} + {% render_field form.xconnect_id %} + {% render_field form.pp_info %}
-
-
-
-
Details
-
- {% render_field form.cid %} - {% render_field form.type %} - {% render_field form.provider %} - {% render_field form.install_date %} - {% render_field form.port_speed %} - {% render_field form.commit_rate %} - {% render_field form.xconnect_id %} - {% render_field form.pp_info %} -
-
-
-
-
-
Termination
-
- {% render_field form.site %} - -
-
- {% render_field form.rack %} - {% render_field form.device %} -
- -
- {% render_field form.interface %} -
-
-
-
Comments
-
- {% render_field form.comments %} +
+
Termination
+
+ {% render_field form.site %} + +
+
+ {% render_field form.rack %} + {% render_field form.device %} +
+
+ {% render_field form.interface %}
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} +
+
Comments
+
+ {% render_field form.comments %}
- {% endblock %} {% block javascript %} diff --git a/netbox/templates/circuits/provider_edit.html b/netbox/templates/circuits/provider_edit.html index 9b2959eeb..7bdfd47d2 100644 --- a/netbox/templates/circuits/provider_edit.html +++ b/netbox/templates/circuits/provider_edit.html @@ -1,69 +1,29 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing {{ obj }}{% else %}Add a provider{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

Editing {{ obj }}

-{% else %} -

Add a Provider

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Provider
+
+ {% render_field form.name %} + {% render_field form.slug %} + {% render_field form.category %} + {% render_field form.asn %}
-
-
-
-
Provider
-
- {% render_field form.name %} - {% render_field form.slug %} - {% render_field form.category %} - {% render_field form.asn %} -
-
-
-
Comments
-
- {% render_field form.comments %} -
-
-
-
-
-
Support Info
-
- {% render_field form.account %} - {% render_field form.portal_url %} - {% render_field form.noc_contact %} - {% render_field form.admin_contact %} -
-
+
+
Support Info
+
+ {% render_field form.account %} + {% render_field form.portal_url %} + {% render_field form.noc_contact %} + {% render_field form.admin_contact %}
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} +
+
Comments
+
+ {% render_field form.comments %}
- {% endblock %} diff --git a/netbox/templates/dcim/device_edit.html b/netbox/templates/dcim/device_edit.html index dfc1ad5d2..65edc27b7 100644 --- a/netbox/templates/dcim/device_edit.html +++ b/netbox/templates/dcim/device_edit.html @@ -1,84 +1,44 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing device {{ obj }}{% else %}Add a device{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add a Device

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Device
+
+ {% render_field form.name %} + {% render_field form.device_role %}
-
-
-
-
Device
-
- {% render_field form.name %} - {% render_field form.device_role %} -
-
-
-
Hardware
-
- {% render_field form.manufacturer %} - {% render_field form.device_type %} - {% render_field form.serial %} -
-
-
-
Comments
-
- {% render_field form.comments %} -
-
-
-
-
-
Location
-
- {% render_field form.site %} - {% render_field form.rack %} - {% render_field form.face %} - {% render_field form.position %} -
-
-
-
Management
-
- {% render_field form.platform %} - {% render_field form.status %} - {% if obj %}{% render_field form.primary_ip %}{% endif %} - {% render_field form.ro_snmp %} -
-
+
+
Hardware
+
+ {% render_field form.manufacturer %} + {% render_field form.device_type %} + {% render_field form.serial %}
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} +
+
Location
+
+ {% render_field form.site %} + {% render_field form.rack %} + {% render_field form.face %} + {% render_field form.position %} +
+
+
+
Management
+
+ {% render_field form.platform %} + {% render_field form.status %} + {% if obj %}{% render_field form.primary_ip %}{% endif %} + {% render_field form.ro_snmp %} +
+
+
+
Comments
+
+ {% render_field form.comments %}
- {% endblock %} diff --git a/netbox/templates/dcim/devicetype_edit.html b/netbox/templates/dcim/devicetype_edit.html index d840356dd..aed29cc5b 100644 --- a/netbox/templates/dcim/devicetype_edit.html +++ b/netbox/templates/dcim/devicetype_edit.html @@ -1,49 +1,11 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing device type {{ obj }}{% else %}Add a Device Type{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add a Device Type

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Device Type
+
+ {% render_form form %}
-
-
-
-
Device Type
-
- {% render_form form %} -
-
-
-
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
- {% endblock %} diff --git a/netbox/templates/dcim/rack_edit.html b/netbox/templates/dcim/rack_edit.html index d988cb753..990b25465 100644 --- a/netbox/templates/dcim/rack_edit.html +++ b/netbox/templates/dcim/rack_edit.html @@ -1,61 +1,21 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing rack {{ obj }}{% else %}Add a rack{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

Rack {{ obj }}

-{% else %} -

Add a Rack

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Rack
+
+ {% render_field form.site %} + {% render_field form.group %} + {% render_field form.name %} + {% render_field form.facility_id %} + {% render_field form.u_height %}
-
-
-
-
Rack
-
- {% render_field form.site %} - {% render_field form.group %} - {% render_field form.name %} - {% render_field form.facility_id %} - {% render_field form.u_height %} -
-
-
-
-
-
Comments
-
- {% render_field form.comments %} -
-
+
+
Comments
+
+ {% render_field form.comments %}
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
- {% endblock %} diff --git a/netbox/templates/dcim/site_edit.html b/netbox/templates/dcim/site_edit.html index 51e3844f8..b951cefc1 100644 --- a/netbox/templates/dcim/site_edit.html +++ b/netbox/templates/dcim/site_edit.html @@ -1,62 +1,22 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing site {{ obj }}{% else %}Add a site{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

Site {{ obj }}

-{% else %} -

Add a Site

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} +{% block form %} +
+
Site
+
+ {% render_field form.name %} + {% render_field form.slug %} + {% render_field form.facility %} + {% render_field form.asn %} + {% render_field form.physical_address %} + {% render_field form.shipping_address %}
-
-
-
-
Site
-
- {% render_field form.name %} - {% render_field form.slug %} - {% render_field form.facility %} - {% render_field form.asn %} - {% render_field form.physical_address %} - {% render_field form.shipping_address %} -
-
-
-
-
-
Comments
-
- {% render_field form.comments %} -
-
+
+
Comments
+
+ {% render_field form.comments %}
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
- {% endblock %} diff --git a/netbox/templates/ipam/aggregate_edit.html b/netbox/templates/ipam/aggregate_edit.html index 62920aef4..a16a70d70 100644 --- a/netbox/templates/ipam/aggregate_edit.html +++ b/netbox/templates/ipam/aggregate_edit.html @@ -1,48 +1,14 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing aggregate {{ obj }}{% else %}Add a new aggregate{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add an Aggregate

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} -
-
Aggregate
-
- {% render_field form.prefix %} - {% render_field form.rir %} - {% render_field form.date_added %} - {% render_field form.description %} -
-
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
+{% block form %} +
+
Aggregate
+
+ {% render_field form.prefix %} + {% render_field form.rir %} + {% render_field form.date_added %} + {% render_field form.description %}
- {% endblock %} diff --git a/netbox/templates/ipam/ipaddress_edit.html b/netbox/templates/ipam/ipaddress_edit.html index 0c965211f..0de856815 100644 --- a/netbox/templates/ipam/ipaddress_edit.html +++ b/netbox/templates/ipam/ipaddress_edit.html @@ -1,86 +1,54 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing IP Address {{ obj }}{% else %}Add an IP Address{% endif %}{% endblock %} - -{% block content %} -

{% if obj %}Editing IP Address {{ obj }}{% else %}Add an IP Address{% endif %}

-
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} -
-
IP Address
-
- {% render_field form.address %} - {% render_field form.vrf %} - {% if obj %} -
- -
-

- {% if obj.interface %} - {{ obj.interface.device }} - {% else %} - None - {% endif %} -

-
-
-
- -
-

{{ obj.interface }}

-
-
- {% endif %} - {% render_field form.description %} -
-
-
-
-
-
NAT IP (Inside)
-
- -
-
- {% render_field form.nat_site %} - {% render_field form.nat_device %} -
- -
- {% render_field form.nat_inside %} -
-
-
-
-
-
+{% block form %} +
+
IP Address
+
+ {% render_field form.address %} + {% render_field form.vrf %} {% if obj %} - - Cancel - {% else %} - - - Cancel +
+ +
+

+ {% if obj.interface %} + {{ obj.interface.device }} + {% else %} + None + {% endif %} +

+
+
+
+ +
+

{{ obj.interface }}

+
+
{% endif %} + {% render_field form.description %} +
+
+
+
NAT IP (Inside)
+
+ +
+
+ {% render_field form.nat_site %} + {% render_field form.nat_device %} +
+ +
+ {% render_field form.nat_inside %}
- {% endblock %} {% block javascript %} diff --git a/netbox/templates/ipam/prefix_edit.html b/netbox/templates/ipam/prefix_edit.html index 13f4fd932..297bbba99 100644 --- a/netbox/templates/ipam/prefix_edit.html +++ b/netbox/templates/ipam/prefix_edit.html @@ -1,51 +1,17 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing prefix {{ obj }}{% else %}Add a prefix{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add a Prefix

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} -
-
Prefix
-
- {% render_field form.prefix %} - {% render_field form.vrf %} - {% render_field form.site %} - {% render_field form.vlan %} - {% render_field form.status %} - {% render_field form.role %} - {% render_field form.description %} -
-
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
+{% block form %} +
+
Prefix
+
+ {% render_field form.prefix %} + {% render_field form.vrf %} + {% render_field form.site %} + {% render_field form.vlan %} + {% render_field form.status %} + {% render_field form.role %} + {% render_field form.description %}
- {% endblock %} diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html index 70684ec57..3f471ca6b 100644 --- a/netbox/templates/ipam/vlan_edit.html +++ b/netbox/templates/ipam/vlan_edit.html @@ -1,50 +1,15 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing VLAN {{ obj }}{% else %}Add a new VLAN{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add a VLAN

-{% endif %} -
- {% csrf_token %} -
-
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} -
-
VLAN
-
- {% render_field form.site %} - {% render_field form.vid %} - {% render_field form.name %} - {% render_field form.status %} - {% render_field form.role %} -
-
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
+{% block form %} +
+
VLAN
+
+ {% render_field form.site %} + {% render_field form.vid %} + {% render_field form.name %} + {% render_field form.status %} + {% render_field form.role %}
- {% endblock %} diff --git a/netbox/templates/ipam/vrf_edit.html b/netbox/templates/ipam/vrf_edit.html index bd98f8567..694c2ceae 100644 --- a/netbox/templates/ipam/vrf_edit.html +++ b/netbox/templates/ipam/vrf_edit.html @@ -1,45 +1,11 @@ -{% extends '_base.html' %} +{% extends 'utilities/obj_edit.html' %} {% load form_helpers %} -{% block title %}{% if obj %}Editing VRF {{ obj }}{% else %}Add a VRF{% endif %}{% endblock %} - -{% block content %} -{% if obj %} -

{{ obj }}

-{% else %} -

Add a VRF

-{% endif %} -
- {% csrf_token %} -
-
- {% if form.non_field_errors %} -
-
Errors
-
- {{ form.non_field_errors }} -
-
- {% endif %} -
-
VRF
-
- {% render_form form %} -
-
-
-
- {% if obj %} - - Cancel - {% else %} - - - Cancel - {% endif %} -
-
+{% block form %} +
+
VRF
+
+ {% render_form form %}
- {% endblock %} diff --git a/netbox/templates/utilities/obj_edit.html b/netbox/templates/utilities/obj_edit.html new file mode 100644 index 000000000..8d31e1933 --- /dev/null +++ b/netbox/templates/utilities/obj_edit.html @@ -0,0 +1,38 @@ +{% extends '_base.html' %} +{% load form_helpers %} + +{% block title %} + {% if obj %}Editing {{ obj_type }} {{ obj }}{% else %}Add a new {{ obj_type }}{% endif %} +{% endblock %} + +{% block content %} +
+ {% csrf_token %} +
+
+

{% if obj %}Editing {{ obj_type }} {{ obj }}{% else %}Add a new {{ obj_type }}{% endif %}

+ {% if form.non_field_errors %} +
+
Errors
+
+ {{ form.non_field_errors }} +
+
+ {% endif %} + {% block form %}{% endblock %} +
+
+
+
+ {% if obj %} + + Cancel + {% else %} + + + Cancel + {% endif %} +
+
+
+{% endblock %} diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py index b7513a168..8eadb75a5 100644 --- a/netbox/utilities/views.py +++ b/netbox/utilities/views.py @@ -91,6 +91,7 @@ class ObjectAddView(View): return render(request, self.template_name, { 'form': form, + 'obj_type': self.model._meta.verbose_name, 'cancel_url': reverse(self.cancel_url), }) @@ -108,6 +109,7 @@ class ObjectAddView(View): return render(request, self.template_name, { 'form': form, + 'obj_type': self.model._meta.verbose_name, 'cancel_url': reverse(self.cancel_url), }) @@ -132,6 +134,7 @@ class ObjectEditView(View): return render(request, self.template_name, { 'obj': obj, 'form': form, + 'obj_type': self.model._meta.verbose_name, 'cancel_url': obj.get_absolute_url(), }) @@ -151,6 +154,7 @@ class ObjectEditView(View): return render(request, self.template_name, { 'obj': obj, 'form': form, + 'obj_type': self.model._meta.verbose_name, 'cancel_url': obj.get_absolute_url(), })