mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-09 03:36:48 +00:00
Eleven host pages (overview, instances, storages, networks, interfaces, nwfilters, secrets and their item pages) each carried their own copy of the links to the host's sections, as a breadcrumb: the sections are siblings, not a path, and on a phone the separators were left at the start of wrapped lines. The item pages marked no section at all. computes/host_nav.html is the one nav, labelled "Host sections": pills that wrap, the page's section marked active, with aria-current="page" on the section's own page and "true" on an item of it.
68 lines
No EOL
3 KiB
HTML
68 lines
No EOL
3 KiB
HTML
{% extends "base.html" %}
|
|
{% load i18n %}
|
|
{% load bootstrap_icons %}
|
|
|
|
{% block title %}{% trans "Networks" %} - {{ compute.name }}{% endblock %}
|
|
|
|
{% block page_heading %}{{ compute.name }} - {% trans "Networks" %}{% endblock page_heading %}
|
|
|
|
{% block page_heading_extra %}{% include 'create_net_block.html' %}{% endblock page_heading_extra %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
{% include "computes/host_nav.html" with section="networks" %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
{% if not networks %}
|
|
<div class="col-lg-12">
|
|
<div class="alert alert-warning shadow-sm">
|
|
{% bs_icon 'exclamation-triangle' %} <strong>{% trans "Warning" %} :</strong> {% trans "Hypervisor doesn't have any Network" %}
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
{% for pool in networks %}
|
|
<div class="col-6 col-md-4">
|
|
<div class="mb-3 card {% if pool.status %}border-success{% else %}border-danger{% endif %} shadow-sm">
|
|
<div class="card-header {% if pool.status %}bg-success-subtle{% else %}bg-danger-subtle{% endif %}">
|
|
<h6 class="my-0 card-title">
|
|
<a class="card-link {% if pool.status %}text-success-emphasis{% else %}text-danger-emphasis{% endif %}" href="{% url 'network' compute.id pool.name %}">{{ pool.name }}</a></h6>
|
|
</div>
|
|
<div class="px-1 card-body">
|
|
<dl class="row">
|
|
<dt class="col-6">{% trans "Device" %}</dt>
|
|
<dd class="col-6">{{ pool.device }}</dd>
|
|
<dt class="col-6">{% trans "Forward" %}</dt>
|
|
<dd class="col-6">{{ pool.forward|upper }}</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|
|
{% block script %}
|
|
<script>
|
|
$(document).ready(function () {
|
|
// a hidden field is disabled: the browser neither checks nor sends it
|
|
function show(rows, on) {
|
|
$(rows).toggle(on).find(':input').prop('disabled', !on);
|
|
}
|
|
function update() {
|
|
var forward = $('#forward_select').val();
|
|
var bridged = forward == 'bridge' || forward == 'macvtap';
|
|
show('.bridge_name_form_group', bridged);
|
|
show('.openvswitch', forward == 'bridge');
|
|
show('.bridge_name_form_group_dhcp', !bridged);
|
|
show('.ipv6_group', !bridged && $('#enable_ipv6').is(':checked'));
|
|
$('#bridge_label').text(forward == 'macvtap' ? "{% trans 'Dev Name'|escapejs %}" : "{% trans 'Bridge Name'|escapejs %}");
|
|
$('#bridge_name').attr('placeholder', forward == 'macvtap' ? 'eth0' : 'br0');
|
|
}
|
|
$('#forward_select, #enable_ipv6').change(update);
|
|
update();
|
|
});
|
|
</script>
|
|
{% endblock %} |