Remove unnecessary component creation templates

This commit is contained in:
jeremystretch 2021-08-24 14:51:12 -04:00
parent 545474a1a3
commit 52603c087b
7 changed files with 27 additions and 113 deletions

View File

@ -876,7 +876,6 @@ class ConsolePortTemplateCreateView(generic.ComponentCreateView):
queryset = ConsolePortTemplate.objects.all() queryset = ConsolePortTemplate.objects.all()
form = forms.ConsolePortTemplateCreateForm form = forms.ConsolePortTemplateCreateForm
model_form = forms.ConsolePortTemplateForm model_form = forms.ConsolePortTemplateForm
template_name = 'dcim/device_component_add.html'
class ConsolePortTemplateEditView(generic.ObjectEditView): class ConsolePortTemplateEditView(generic.ObjectEditView):
@ -911,7 +910,6 @@ class ConsoleServerPortTemplateCreateView(generic.ComponentCreateView):
queryset = ConsoleServerPortTemplate.objects.all() queryset = ConsoleServerPortTemplate.objects.all()
form = forms.ConsoleServerPortTemplateCreateForm form = forms.ConsoleServerPortTemplateCreateForm
model_form = forms.ConsoleServerPortTemplateForm model_form = forms.ConsoleServerPortTemplateForm
template_name = 'dcim/device_component_add.html'
class ConsoleServerPortTemplateEditView(generic.ObjectEditView): class ConsoleServerPortTemplateEditView(generic.ObjectEditView):
@ -946,7 +944,6 @@ class PowerPortTemplateCreateView(generic.ComponentCreateView):
queryset = PowerPortTemplate.objects.all() queryset = PowerPortTemplate.objects.all()
form = forms.PowerPortTemplateCreateForm form = forms.PowerPortTemplateCreateForm
model_form = forms.PowerPortTemplateForm model_form = forms.PowerPortTemplateForm
template_name = 'dcim/device_component_add.html'
class PowerPortTemplateEditView(generic.ObjectEditView): class PowerPortTemplateEditView(generic.ObjectEditView):
@ -981,7 +978,6 @@ class PowerOutletTemplateCreateView(generic.ComponentCreateView):
queryset = PowerOutletTemplate.objects.all() queryset = PowerOutletTemplate.objects.all()
form = forms.PowerOutletTemplateCreateForm form = forms.PowerOutletTemplateCreateForm
model_form = forms.PowerOutletTemplateForm model_form = forms.PowerOutletTemplateForm
template_name = 'dcim/device_component_add.html'
class PowerOutletTemplateEditView(generic.ObjectEditView): class PowerOutletTemplateEditView(generic.ObjectEditView):
@ -1016,7 +1012,6 @@ class InterfaceTemplateCreateView(generic.ComponentCreateView):
queryset = InterfaceTemplate.objects.all() queryset = InterfaceTemplate.objects.all()
form = forms.InterfaceTemplateCreateForm form = forms.InterfaceTemplateCreateForm
model_form = forms.InterfaceTemplateForm model_form = forms.InterfaceTemplateForm
template_name = 'dcim/device_component_add.html'
class InterfaceTemplateEditView(generic.ObjectEditView): class InterfaceTemplateEditView(generic.ObjectEditView):
@ -1051,7 +1046,6 @@ class FrontPortTemplateCreateView(generic.ComponentCreateView):
queryset = FrontPortTemplate.objects.all() queryset = FrontPortTemplate.objects.all()
form = forms.FrontPortTemplateCreateForm form = forms.FrontPortTemplateCreateForm
model_form = forms.FrontPortTemplateForm model_form = forms.FrontPortTemplateForm
template_name = 'dcim/device_component_add.html'
class FrontPortTemplateEditView(generic.ObjectEditView): class FrontPortTemplateEditView(generic.ObjectEditView):
@ -1086,7 +1080,6 @@ class RearPortTemplateCreateView(generic.ComponentCreateView):
queryset = RearPortTemplate.objects.all() queryset = RearPortTemplate.objects.all()
form = forms.RearPortTemplateCreateForm form = forms.RearPortTemplateCreateForm
model_form = forms.RearPortTemplateForm model_form = forms.RearPortTemplateForm
template_name = 'dcim/device_component_add.html'
class RearPortTemplateEditView(generic.ObjectEditView): class RearPortTemplateEditView(generic.ObjectEditView):
@ -1121,7 +1114,6 @@ class DeviceBayTemplateCreateView(generic.ComponentCreateView):
queryset = DeviceBayTemplate.objects.all() queryset = DeviceBayTemplate.objects.all()
form = forms.DeviceBayTemplateCreateForm form = forms.DeviceBayTemplateCreateForm
model_form = forms.DeviceBayTemplateForm model_form = forms.DeviceBayTemplateForm
template_name = 'dcim/device_component_add.html'
class DeviceBayTemplateEditView(generic.ObjectEditView): class DeviceBayTemplateEditView(generic.ObjectEditView):
@ -1638,7 +1630,6 @@ class ConsolePortCreateView(generic.ComponentCreateView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
form = forms.ConsolePortCreateForm form = forms.ConsolePortCreateForm
model_form = forms.ConsolePortForm model_form = forms.ConsolePortForm
template_name = 'dcim/device_component_add.html'
class ConsolePortEditView(generic.ObjectEditView): class ConsolePortEditView(generic.ObjectEditView):
@ -1698,7 +1689,6 @@ class ConsoleServerPortCreateView(generic.ComponentCreateView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
form = forms.ConsoleServerPortCreateForm form = forms.ConsoleServerPortCreateForm
model_form = forms.ConsoleServerPortForm model_form = forms.ConsoleServerPortForm
template_name = 'dcim/device_component_add.html'
class ConsoleServerPortEditView(generic.ObjectEditView): class ConsoleServerPortEditView(generic.ObjectEditView):
@ -1758,7 +1748,6 @@ class PowerPortCreateView(generic.ComponentCreateView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
form = forms.PowerPortCreateForm form = forms.PowerPortCreateForm
model_form = forms.PowerPortForm model_form = forms.PowerPortForm
template_name = 'dcim/device_component_add.html'
class PowerPortEditView(generic.ObjectEditView): class PowerPortEditView(generic.ObjectEditView):
@ -1818,7 +1807,6 @@ class PowerOutletCreateView(generic.ComponentCreateView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
form = forms.PowerOutletCreateForm form = forms.PowerOutletCreateForm
model_form = forms.PowerOutletForm model_form = forms.PowerOutletForm
template_name = 'dcim/device_component_add.html'
class PowerOutletEditView(generic.ObjectEditView): class PowerOutletEditView(generic.ObjectEditView):
@ -1913,28 +1901,30 @@ class InterfaceCreateView(generic.ComponentCreateView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
form = forms.InterfaceCreateForm form = forms.InterfaceCreateForm
model_form = forms.InterfaceForm model_form = forms.InterfaceForm
template_name = 'dcim/device_component_add.html' template_name = 'dcim/interface_create.html'
def post(self, request): def post(self, request):
""" """
Override inherited post() method to handle request to assign newly created Override inherited post() method to handle request to assign newly created
interface objects (first object) to an IP Address object. interface objects (first object) to an IP Address object.
""" """
logger = logging.getLogger('netbox.dcim.views.InterfaceCreateView')
form = self.form(request.POST, initial=request.GET) form = self.form(request.POST, initial=request.GET)
new_objs = self.validate_form(request, form) new_objs = self.validate_form(request, form)
if form.is_valid() and not form.errors: if form.is_valid() and not form.errors:
if '_addanother' in request.POST: if '_addanother' in request.POST:
return redirect(request.get_full_path()) return redirect(request.get_full_path())
elif new_objs is not None and '_assignip' in request.POST and len(new_objs) >= 1 and request.user.has_perm('ipam.add_ipaddress'): elif new_objs is not None and '_assignip' in request.POST and len(new_objs) >= 1 and \
request.user.has_perm('ipam.add_ipaddress'):
first_obj = new_objs[0].pk first_obj = new_objs[0].pk
return redirect(f'/ipam/ip-addresses/add/?interface={first_obj}&return_url={self.get_return_url(request)}') return redirect(
f'/ipam/ip-addresses/add/?interface={first_obj}&return_url={self.get_return_url(request)}'
)
else: else:
return redirect(self.get_return_url(request)) return redirect(self.get_return_url(request))
return render(request, self.template_name, { return render(request, self.template_name, {
'component_type': self.queryset.model._meta.verbose_name, 'obj_type': self.queryset.model._meta.verbose_name,
'form': form, 'form': form,
'return_url': self.get_return_url(request), 'return_url': self.get_return_url(request),
}) })
@ -1997,7 +1987,6 @@ class FrontPortCreateView(generic.ComponentCreateView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
form = forms.FrontPortCreateForm form = forms.FrontPortCreateForm
model_form = forms.FrontPortForm model_form = forms.FrontPortForm
template_name = 'dcim/device_component_add.html'
class FrontPortEditView(generic.ObjectEditView): class FrontPortEditView(generic.ObjectEditView):
@ -2057,7 +2046,6 @@ class RearPortCreateView(generic.ComponentCreateView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
form = forms.RearPortCreateForm form = forms.RearPortCreateForm
model_form = forms.RearPortForm model_form = forms.RearPortForm
template_name = 'dcim/device_component_add.html'
class RearPortEditView(generic.ObjectEditView): class RearPortEditView(generic.ObjectEditView):
@ -2117,7 +2105,6 @@ class DeviceBayCreateView(generic.ComponentCreateView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
form = forms.DeviceBayCreateForm form = forms.DeviceBayCreateForm
model_form = forms.DeviceBayForm model_form = forms.DeviceBayForm
template_name = 'dcim/device_component_add.html'
class DeviceBayEditView(generic.ObjectEditView): class DeviceBayEditView(generic.ObjectEditView):
@ -2243,7 +2230,6 @@ class InventoryItemCreateView(generic.ComponentCreateView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
form = forms.InventoryItemCreateForm form = forms.InventoryItemCreateForm
model_form = forms.InventoryItemForm model_form = forms.InventoryItemForm
template_name = 'dcim/device_component_add.html'
class InventoryItemDeleteView(generic.ObjectDeleteView): class InventoryItemDeleteView(generic.ObjectDeleteView):

View File

@ -1092,7 +1092,7 @@ class ComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View
queryset = None queryset = None
form = None form = None
model_form = None model_form = None
template_name = None template_name = 'generic/object_edit.html'
def get_required_permission(self): def get_required_permission(self):
return get_permission_for_model(self.queryset.model, 'add') return get_permission_for_model(self.queryset.model, 'add')
@ -1102,7 +1102,7 @@ class ComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View
form = self.form(initial=request.GET) form = self.form(initial=request.GET)
return render(request, self.template_name, { return render(request, self.template_name, {
'component_type': self.queryset.model._meta.verbose_name, 'obj_type': self.queryset.model._meta.verbose_name,
'form': form, 'form': form,
'return_url': self.get_return_url(request), 'return_url': self.get_return_url(request),
}) })
@ -1119,7 +1119,7 @@ class ComponentCreateView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View
return redirect(self.get_return_url(request)) return redirect(self.get_return_url(request))
return render(request, self.template_name, { return render(request, self.template_name, {
'component_type': self.queryset.model._meta.verbose_name, 'obj_type': self.queryset.model._meta.verbose_name,
'form': form, 'form': form,
'return_url': self.get_return_url(request), 'return_url': self.get_return_url(request),
}) })

View File

@ -1,56 +0,0 @@
{% extends 'base/layout.html' %}
{% load helpers %}
{% load form_helpers %}
{% block title %}Create {{ component_type }}{% endblock %}
{% render_errors form %}
{% block content %}
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="row">
<div class="col col-md-8 offset-md-2 col-lg-6 offset-lg-3">
<div class="field-group">
<h5 class="text-center">{{ component_type|title }}</h5>
{% for field in form.hidden_fields %}
{{ field }}
{% endfor %}
{% for field in form.visible_fields %}
{% if not form.custom_fields or field.name not in form.custom_fields %}
{% render_field field %}
{% endif %}
{% endfor %}
{% if form.custom_fields %}
<div class="field-group">
<h5 class="text-center">Custom Fields</h5>
{% render_custom_fields form %}
</div>
{% endif %}
</div>
</div>
</div>
<div class="row my-3">
<div class="col col-md-8 offset-md-2 col-lg-6 offset-lg-3 text-end">
{% block buttons %}
<a class="btn btn-outline-danger" href="{{ return_url }}">Cancel</a>
{% if component_type == 'interface' and perms.ipam.add_ipaddress %}
<button type="submit" name="_assignip" class="btn btn-outline-success">
Create & Assign IP Address
</button>
{% endif %}
<button type="submit" name="_addanother" class="btn btn-outline-primary">
Create & Add Another
</button>
<button type="submit" name="_create" class="btn btn-primary">
Create
</button>
{% endblock %}
</div>
</div>
</form>
{% endblock %}

View File

@ -1,31 +0,0 @@
{% extends 'base/layout.html' %}
{% load form_helpers %}
{% block title %}Add {{ component_type }} to {{ parent }}{% endblock %}
{% render_errors form %}
{% block content %}
<form action="." method="post">
{% csrf_token %}
<div class="row">
<div class="col col-md-6">
<div class="field-group mb-3">
<h5 class="text-center">New {{ component_type }}</h5>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Device Type</label>
<div class="col">
<input class="form-control" value="{{ parent }}" disabled />
</div>
</div>
{% render_form form %}
</div>
</div>
<div class="col col-md-9">
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
<button type="submit" name="_update" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</form>
{% endblock %}

View File

@ -0,0 +1,16 @@
{% extends 'generic/object_edit.html' %}
{% block buttons %}
<a class="btn btn-outline-danger" href="{{ return_url }}">Cancel</a>
{% if component_type == 'interface' and perms.ipam.add_ipaddress %}
<button type="submit" name="_assignip" class="btn btn-outline-success">
Create & Assign IP Address
</button>
{% endif %}
<button type="submit" name="_addanother" class="btn btn-outline-primary">
Create & Add Another
</button>
<button type="submit" name="_create" class="btn btn-primary">
Create
</button>
{% endblock %}

View File

@ -101,7 +101,7 @@
</div> </div>
{% elif field|widget_type == 'selectmultiple' %} {% elif field|widget_type == 'selectmultiple' %}
<div class="row"> <div class="row mb-3">
<label for="{{ field.id_for_label }}" class="form-label col col-md-3 text-lg-end{% if field.field.required %} required{% endif %}"> <label for="{{ field.id_for_label }}" class="form-label col col-md-3 text-lg-end{% if field.field.required %} required{% endif %}">
{{ field.label }} {{ field.label }}
</label> </label>

View File

@ -456,7 +456,6 @@ class VMInterfaceCreateView(generic.ComponentCreateView):
queryset = VMInterface.objects.all() queryset = VMInterface.objects.all()
form = forms.VMInterfaceCreateForm form = forms.VMInterfaceCreateForm
model_form = forms.VMInterfaceForm model_form = forms.VMInterfaceForm
template_name = 'dcim/device_component_add.html'
class VMInterfaceEditView(generic.ObjectEditView): class VMInterfaceEditView(generic.ObjectEditView):