1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #475: Display add buttons at top and bottom of all device/device type panels

This commit is contained in:
Jeremy Stretch
2016-09-28 12:06:00 -04:00
parent 118bb5ea73
commit 30c7c2d359
2 changed files with 96 additions and 77 deletions

View File

@ -210,7 +210,7 @@
{% empty %} {% empty %}
<tr> <tr>
<td colspan="5" class="alert-warning"> <td colspan="5" class="alert-warning">
<i class="fa fa-fw fa-warning"></i> No management interfaces defined! <i class="fa fa-fw fa-warning"></i> No management interfaces defined
{% if perms.dcim.add_interface %} {% if perms.dcim.add_interface %}
<a href="{% url 'dcim:interface_add' pk=device.pk %}?mgmt_only=1" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a> <a href="{% url 'dcim:interface_add' pk=device.pk %}?mgmt_only=1" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
{% endif %} {% endif %}
@ -222,7 +222,7 @@
{% empty %} {% empty %}
<tr> <tr>
<td colspan="5" class="alert-warning"> <td colspan="5" class="alert-warning">
<i class="fa fa-fw fa-warning"></i> No console ports defined! <i class="fa fa-fw fa-warning"></i> No console ports defined
{% if perms.dcim.add_consoleport %} {% if perms.dcim.add_consoleport %}
<a href="{% url 'dcim:consoleport_add' pk=device.pk %}" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a> <a href="{% url 'dcim:consoleport_add' pk=device.pk %}" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
{% endif %} {% endif %}
@ -235,7 +235,7 @@
{% if not device.device_type.is_pdu %} {% if not device.device_type.is_pdu %}
<tr> <tr>
<td colspan="5" class="alert-warning"> <td colspan="5" class="alert-warning">
<i class="fa fa-fw fa-warning"></i> No power ports defined! <i class="fa fa-fw fa-warning"></i> No power ports defined
{% if perms.dcim.add_powerport %} {% if perms.dcim.add_powerport %}
<a href="{% url 'dcim:powerport_add' pk=device.pk %}" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a> <a href="{% url 'dcim:powerport_add' pk=device.pk %}" class="btn btn-primary btn-xs pull-right"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
{% endif %} {% endif %}
@ -248,20 +248,17 @@
<div class="panel-footer text-right"> <div class="panel-footer text-right">
{% if perms.dcim.add_interface %} {% if perms.dcim.add_interface %}
<a href="{% url 'dcim:interface_add' pk=device.pk %}?mgmt_only=1" class="btn btn-xs btn-primary"> <a href="{% url 'dcim:interface_add' pk=device.pk %}?mgmt_only=1" class="btn btn-xs btn-primary">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add interface
Add interface
</a> </a>
{% endif %} {% endif %}
{% if perms.dcim.add_consoleport %} {% if perms.dcim.add_consoleport %}
<a href="{% url 'dcim:consoleport_add' pk=device.pk %}" class="btn btn-xs btn-primary"> <a href="{% url 'dcim:consoleport_add' pk=device.pk %}" class="btn btn-xs btn-primary">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add console port
Add console
</a> </a>
{% endif %} {% endif %}
{% if perms.dcim.add_powerport and not device.device_type.is_pdu %} {% if perms.dcim.add_powerport and not device.device_type.is_pdu %}
<a href="{% url 'dcim:powerport_add' pk=device.pk %}" class="btn btn-xs btn-primary"> <a href="{% url 'dcim:powerport_add' pk=device.pk %}" class="btn btn-xs btn-primary">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add power port
Add power
</a> </a>
{% endif %} {% endif %}
</div> </div>
@ -312,6 +309,13 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Device Bays</strong> <strong>Device Bays</strong>
{% if perms.dcim.add_devicebay and device_bays|length > 10 %}
<div class="pull-right">
<a href="{% url 'dcim:devicebay_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add device bays
</a>
</div>
{% endif %}
</div> </div>
<table class="table table-hover panel-body"> <table class="table table-hover panel-body">
{% for devicebay in device_bays %} {% for devicebay in device_bays %}
@ -324,23 +328,19 @@
</table> </table>
{% if perms.dcim.add_devicebay or perms.dcim.delete_devicebay %} {% if perms.dcim.add_devicebay or perms.dcim.delete_devicebay %}
<div class="panel-footer"> <div class="panel-footer">
<div class="row"> {% if device_bays and perms.dcim.delete_devicebay %}
<div class="col-md-6"> <button type="submit" class="btn btn-danger btn-xs">
{% if device_bays and perms.dcim.delete_devicebay %} <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete selected
<button type="submit" class="btn btn-xs btn-danger"> </button>
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected {% endif %}
</button> {% if perms.dcim.add_devicebay %}
{% endif %} <div class="pull-right">
<a href="{% url 'dcim:devicebay_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add device bays
</a>
</div> </div>
<div class="col-md-6 text-right"> <div class="clearfix"></div>
{% if perms.dcim.add_devicebay %} {% endif %}
<a href="{% url 'dcim:devicebay_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add device bay
</a>
{% endif %}
</div>
</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>
@ -356,6 +356,13 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Interfaces</strong> <strong>Interfaces</strong>
{% if perms.dcim.add_interface and interfaces|length > 10 %}
<div class="pull-right">
<a href="{% url 'dcim:interface_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add interfaces
</a>
</div>
{% endif %}
</div> </div>
<table class="table table-hover panel-body"> <table class="table table-hover panel-body">
{% for iface in interfaces %} {% for iface in interfaces %}
@ -368,23 +375,19 @@
</table> </table>
{% if perms.dcim.add_interface or perms.dcim.delete_interface %} {% if perms.dcim.add_interface or perms.dcim.delete_interface %}
<div class="panel-footer"> <div class="panel-footer">
<div class="row"> {% if interfaces and perms.dcim.delete_interface %}
<div class="col-md-6"> <button type="submit" class="btn btn-danger btn-xs">
{% if interfaces and perms.dcim.delete_interface %} <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete selected
<button type="submit" class="btn btn-xs btn-danger"> </button>
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected {% endif %}
</button> {% if perms.dcim.add_interface %}
{% endif %} <div class="pull-right">
<a href="{% url 'dcim:interface_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add interfaces
</a>
</div> </div>
<div class="col-md-6 text-right"> <div class="clearfix"></div>
{% if perms.dcim.add_interface %} {% endif %}
<a href="{% url 'dcim:interface_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add interface
</a>
{% endif %}
</div>
</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>
@ -400,6 +403,13 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Console Server Ports</strong> <strong>Console Server Ports</strong>
{% if perms.dcim.add_consoleserverport and cs_ports|length > 10 %}
<div class="pull-right">
<a href="{% url 'dcim:consoleserverport_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add console server ports
</a>
</div>
{% endif %}
</div> </div>
<table class="table table-hover panel-body"> <table class="table table-hover panel-body">
{% for csp in cs_ports %} {% for csp in cs_ports %}
@ -412,23 +422,19 @@
</table> </table>
{% if perms.dcim.add_consoleserverport or perms.dcim.delete_consoleserverport %} {% if perms.dcim.add_consoleserverport or perms.dcim.delete_consoleserverport %}
<div class="panel-footer"> <div class="panel-footer">
<div class="row"> {% if cs_ports and perms.dcim.delete_consoleserverport %}
<div class="col-md-6"> <button type="submit" class="btn btn-danger btn-xs">
{% if cs_ports and perms.dcim.delete_consoleserverport %} <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete selected
<button type="submit" class="btn btn-xs btn-danger"> </button>
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected {% endif %}
</button> {% if perms.dcim.add_consoleserverport %}
{% endif %} <div class="pull-right">
<a href="{% url 'dcim:consoleserverport_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add console server ports
</a>
</div> </div>
<div class="col-md-6 text-right"> <div class="clearfix"></div>
{% if perms.dcim.add_consoleserverport %} {% endif %}
<a href="{% url 'dcim:consoleserverport_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add console server ports
</a>
{% endif %}
</div>
</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>
@ -444,6 +450,13 @@
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Power Outlets</strong> <strong>Power Outlets</strong>
{% if perms.dcim.add_poweroutlet and power_outlets|length > 10 %}
<div class="pull-right">
<a href="{% url 'dcim:poweroutlet_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add power outlets
</a>
</div>
{% endif %}
</div> </div>
<table class="table table-hover panel-body"> <table class="table table-hover panel-body">
{% for po in power_outlets %} {% for po in power_outlets %}
@ -456,23 +469,19 @@
</table> </table>
{% if perms.dcim.add_poweroutlet or perms.dcim.delete_poweroutlet %} {% if perms.dcim.add_poweroutlet or perms.dcim.delete_poweroutlet %}
<div class="panel-footer"> <div class="panel-footer">
<div class="row"> {% if power_outlets and perms.dcim.delete_poweroutlet %}
<div class="col-md-6"> <button type="submit" class="btn btn-danger btn-xs">
{% if power_outlets and perms.dcim.delete_poweroutlet %} <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete selected
<button type="submit" class="btn btn-xs btn-danger"> </button>
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected {% endif %}
</button> {% if perms.dcim.add_poweroutlet %}
{% endif %} <div class="pull-right">
<a href="{% url 'dcim:poweroutlet_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add power outlets
</a>
</div> </div>
<div class="col-md-6 text-right"> <div class="clearfix"></div>
{% if perms.dcim.add_poweroutlet %} {% endif %}
<a href="{% url 'dcim:poweroutlet_add' pk=device.pk %}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add power outlets
</a>
{% endif %}
</div>
</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>

View File

@ -4,11 +4,15 @@
{% csrf_token %} {% csrf_token %}
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<a href="{% url add_url pk=devicetype.pk %}{{ add_url_extra }}" class="btn btn-primary btn-xs pull-right">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add {{ title }}
</a>
<strong>{{ title }}</strong> <strong>{{ title }}</strong>
{% if table.rows|length > 10 %}
<div class="pull-right">
<a href="{% url add_url pk=devicetype.pk %}{{ add_url_extra }}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add {{ title }}
</a>
</div>
{% endif %}
</div> </div>
{% render_table table 'table.html' %} {% render_table table 'table.html' %}
{% if table.rows %} {% if table.rows %}
@ -16,6 +20,12 @@
<button type="submit" class="btn btn-xs btn-danger"> <button type="submit" class="btn btn-xs btn-danger">
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected <span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete Selected
</button> </button>
<div class="pull-right">
<a href="{% url add_url pk=devicetype.pk %}{{ add_url_extra }}" class="btn btn-primary btn-xs">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
Add {{ title }}
</a>
</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>