Clean up and document object edit & delete templates

This commit is contained in:
jeremystretch 2022-02-08 10:56:48 -05:00
parent 624eda297f
commit b0039e938e
10 changed files with 69 additions and 50 deletions

View File

@ -344,8 +344,7 @@ class ObjectEditView(GetReturnURLMixin, BaseObjectView):
restrict_form_fields(form, request.user)
return render(request, self.template_name, {
'obj': obj,
'obj_type': self.queryset.model._meta.verbose_name,
'object': obj,
'form': form,
'return_url': self.get_return_url(request, obj),
**self.get_extra_context(request, obj),
@ -423,8 +422,7 @@ class ObjectEditView(GetReturnURLMixin, BaseObjectView):
logger.debug("Form validation failed")
return render(request, self.template_name, {
'obj': obj,
'obj_type': self.queryset.model._meta.verbose_name,
'object': obj,
'form': form,
'return_url': self.get_return_url(request, obj),
**self.get_extra_context(request, obj),
@ -468,7 +466,6 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
return render(request, self.template_name, {
'object': obj,
'object_type': self.queryset.model._meta.verbose_name,
'form': form,
'return_url': self.get_return_url(request, obj),
**self.get_extra_context(request, obj),
@ -513,7 +510,6 @@ class ObjectDeleteView(GetReturnURLMixin, BaseObjectView):
return render(request, self.template_name, {
'object': obj,
'object_type': self.queryset.model._meta.verbose_name,
'form': form,
'return_url': self.get_return_url(request, obj),
**self.get_extra_context(request, obj),
@ -557,8 +553,7 @@ class ComponentCreateView(GetReturnURLMixin, BaseObjectView):
instance = self.alter_object(self.queryset.model, request)
return render(request, self.template_name, {
'obj': instance,
'obj_type': self.queryset.model._meta.verbose_name,
'object': instance,
'replication_form': form,
'form': model_form,
'return_url': self.get_return_url(request),
@ -577,8 +572,7 @@ class ComponentCreateView(GetReturnURLMixin, BaseObjectView):
return redirect(self.get_return_url(request))
return render(request, self.template_name, {
'obj': instance,
'obj_type': self.queryset.model._meta.verbose_name,
'object': instance,
'replication_form': form,
'form': model_form,
'return_url': self.get_return_url(request),

View File

@ -2,7 +2,7 @@
{% load static %}
{% load form_helpers %}
{% block title %}{{ obj.circuit.provider }} {{ obj.circuit }} - Side {{ form.term_side.value }}{% endblock %}
{% block title %}{{ object.circuit.provider }} {{ object.circuit }} - Side {{ form.term_side.value }}{% endblock %}
{% block form %}
<div class="field-group my-5">
@ -12,13 +12,13 @@
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Provider</label>
<div class="col">
<input class="form-control" value="{{ obj.circuit.provider }}" disabled />
<input class="form-control" value="{{ object.circuit.provider }}" disabled />
</div>
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Circuit</label>
<div class="col">
<input class="form-control" value="{{ obj.circuit.cid }}" disabled />
<input class="form-control" value="{{ object.circuit.cid }}" disabled />
</div>
</div>
<div class="row mb-3">
@ -69,7 +69,7 @@
{# Override buttons block, 'Create & Add Another'/'_addanother' is not needed on a circuit. #}
{% block buttons %}
<a class="btn btn-outline-danger" href="{{ return_url }}">Cancel</a>
{% if obj.pk %}
{% if object.pk %}
<button type="submit" name="_update" class="btn btn-primary">
Save
</button>

View File

@ -1,14 +1,16 @@
{% extends 'generic/object_edit.html' %}
{% load form_helpers %}
{% block form_fields %}
{% block form %}
<div class="field-group mb-5">
{% if form.instance.device %}
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Device</label>
<div class="col">
<input class="form-control" value="{{ form.instance.device }}" disabled />
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Device</label>
<div class="col">
<input class="form-control" value="{{ form.instance.device }}" disabled />
</div>
</div>
{% endif %}
{% render_form form %}
{% endblock %}
</div>
{% endblock form %}

View File

@ -34,19 +34,19 @@
{% render_field form.location %}
{% render_field form.rack %}
{% if obj.device_type.is_child_device and obj.parent_bay %}
{% if object.device_type.is_child_device and object.parent_bay %}
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Parent Device</label>
<div class="col">
<input class="form-control" value="{{ obj.parent_bay.device }}" disabled />
<input class="form-control" value="{{ object.parent_bay.device }}" disabled />
</div>
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Parent Bay</label>
<div class="col">
<div class="input-group">
<input class="form-control" value="{{ obj.parent_bay.name }}" disabled />
<a href="{% url 'dcim:devicebay_depopulate' pk=obj.parent_bay.pk %}" title="Regenerate Slug" class="btn btn-danger d-inline-flex align-items-center">
<input class="form-control" value="{{ object.parent_bay.name }}" disabled />
<a href="{% url 'dcim:devicebay_depopulate' pk=object.parent_bay.pk %}" title="Regenerate Slug" class="btn btn-danger d-inline-flex align-items-center">
<i class="mdi mdi-close-thick"></i>&nbsp;Remove
</a>
</div>
@ -64,7 +64,7 @@
</div>
{% render_field form.status %}
{% render_field form.platform %}
{% if obj.pk %}
{% if object.pk %}
{% render_field form.primary_ip4 %}
{% render_field form.primary_ip6 %}
{% endif %}

View File

@ -93,8 +93,8 @@
{% block buttons %}
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
{% if obj.pk %}
<button type="button" return-url="?return_url={% url 'dcim:interface_edit' pk=obj.pk %}" class="btn btn-outline-primary">Save & Continue Editing</button>
{% if object.pk %}
<button type="button" return-url="?return_url={% url 'dcim:interface_edit' pk=object.pk %}" class="btn btn-outline-primary">Save & Continue Editing</button>
<button type="submit" name="_update" class="btn btn-primary">Save</button>
{% else %}
<button type="submit" name="_addanother" class="btn btn-outline-primary">Create & Add Another</button>

View File

@ -4,13 +4,13 @@
{% block form %}
{% render_form replication_form %}
{% if obj.component %}
{% if object.component %}
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">
{{ obj.component|meta:"verbose_name"|bettertitle }}
{{ object.component|meta:"verbose_name"|bettertitle }}
</label>
<div class="col">
<input class="form-control" value="{{ obj.component }}" disabled />
<input class="form-control" value="{{ object.component }}" disabled />
</div>
</div>
{% endif %}

View File

@ -1,16 +1,19 @@
{% extends 'generic/object_edit.html' %}
{% load helpers %}
{% load form_helpers %}
{% block form_fields %}
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end required">
{{ obj.parent|meta:"verbose_name"|bettertitle }}
</label>
<div class="col-sm-9">
<div class="form-control-plaintext">
<a href="{{ obj.parent.get_absolute_url }}" class="">{{ obj.parent }}</a>
{% block form %}
<div class="field-group mb-5">
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end required">
{{ object.parent|meta:"verbose_name"|bettertitle }}
</label>
<div class="col-sm-9">
<div class="form-control-plaintext">
<a href="{{ object.parent.get_absolute_url }}" class="">{{ object.parent }}</a>
</div>
</div>
</div>
{% render_form form %}
</div>
{{ block.super }}
{% endblock form_fields %}
{% endblock form %}

View File

@ -1,7 +1,16 @@
{% extends 'base/layout.html' %}
{% load helpers %}
{% load form_helpers %}
{% block title %}Delete {{ object_type }}?{% endblock %}
{% comment %}
Context:
object: Python instance of the object being deleted
form: The delete confirmation form
form_url: URL for form submission (optional; defaults to current path)
return_url: The URL to which the user is redirected after submitting the form
{% endcomment %}
{% block title %}Delete {{ object|meta:"verbose_name" }}?{% endblock %}
{% block header %}{% endblock %}

View File

@ -2,15 +2,26 @@
{% load form_helpers %}
{% load helpers %}
{% comment %}
Blocks:
form: Content within the <form> element
buttons: Form submission buttons
Context:
object: Python instance of the object being edited
form: The edit form
return_url: The URL to which the user is redirected after submitting the form
{% endcomment %}
{% block title %}
{% if obj.pk %}Editing {{ obj_type }} {{ obj }}{% else %}Add a new {{ obj_type }}{% endif %}
{% if object.pk %}Editing {{ object|meta:"verbose_name" }} {{ object }}{% else %}Add a new {{ object|meta:"verbose_name" }}{% endif %}
{% endblock title %}
{% block tabs %}
<ul class="nav nav-tabs px-3">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="edit-form-tab" data-bs-toggle="tab" data-bs-target="#edit-form" type="button" role="tab" aria-controls="edit-form" aria-selected="true">
{% if obj.pk %}Edit{% else %}Create{% endif %}
{% if object.pk %}Edit{% else %}Create{% endif %}
</button>
</li>
</ul>
@ -21,9 +32,9 @@
<div class="tab-pane show active" id="edit-form" role="tabpanel" aria-labelledby="object-list-tab">
{# Link to model documentation #}
{% if obj and settings.DOCS_ROOT %}
{% if object and settings.DOCS_ROOT %}
<div class="float-end">
<a href="{{ obj|get_docs_url }}" target="_blank" class="btn btn-sm btn-outline-secondary" title="View model documentation">
<a href="{{ object|get_docs_url }}" target="_blank" class="btn btn-sm btn-outline-secondary" title="View model documentation">
<i class="mdi mdi-help-circle"></i> Help
</a>
</div>
@ -75,7 +86,7 @@
{% else %}
{# Render all fields in a single group #}
<div class="field-group mb-5">
{% block form_fields %}{% render_form form %}{% endblock %}
{% render_form form %}
</div>
{% endif %}
@ -84,7 +95,7 @@
<div class="text-end my-3">
{% block buttons %}
<a class="btn btn-outline-danger" href="{{ return_url }}">Cancel</a>
{% if obj.pk %}
{% if object.pk %}
<button type="submit" name="_update" class="btn btn-primary">
Save
</button>

View File

@ -58,8 +58,8 @@
{% block buttons %}
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
{% if obj.pk %}
<button type="button" return-url="?return_url={% url 'virtualization:vminterface_edit' pk=obj.pk %}" class="btn btn-outline-primary">Save & Continue Editing</button>
{% if object.pk %}
<button type="button" return-url="?return_url={% url 'virtualization:vminterface_edit' pk=object.pk %}" class="btn btn-outline-primary">Save & Continue Editing</button>
<button type="submit" name="_update" class="btn btn-primary">Save</button>
{% else %}
<button type="submit" name="_addanother" class="btn btn-outline-primary">Create & Add Another</button>