mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
bootstrap 4.5 & Bootswatch Themes
This commit is contained in:
parent
e2b7b77da0
commit
0e5840498e
230 changed files with 19531 additions and 5077 deletions
|
@ -1,7 +1,7 @@
|
|||
{% load i18n %}
|
||||
{% if request.user.is_superuser %}
|
||||
<a href="#AddInterface" type="button" class="btn btn-success pull-right" data-toggle="modal">
|
||||
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
|
||||
<a href="#AddInterface" type="button" class="btn btn-success float-right" data-toggle="modal">
|
||||
<span class="fa fa-plus" aria-hidden="true"></span>
|
||||
</a>
|
||||
|
||||
<!-- Modal Secret -->
|
||||
|
@ -9,117 +9,119 @@
|
|||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{% trans "Create New Interface" %}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title">{% trans "Create New Interface" %}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal" method="post" action="" role="form">{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Name" %}</label>
|
||||
<form method="post" action="" role="form">{% csrf_token %}
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "Name" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" name="name" class="form-control" placeholder="br0" maxlength="10" required pattern="[a-z0-9\. ]+"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Start mode" %}</label>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "Start mode" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="start_mode" class="form-control">
|
||||
<select name="start_mode" class="custom-select">
|
||||
<option value="none">{% trans "none" %}</option>
|
||||
<option value="onboot">{% trans "onboot" %}</option>
|
||||
<option value="hotplug">{% trans "hotplug" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Device" %}</label>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "Device" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="netdev" class="form-control">
|
||||
<select name="netdev" class="custom-select">
|
||||
{% for dev in netdevs %}
|
||||
<option value="{{ dev }}">{{ dev }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Type" %}</label>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "Type" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="itype" class="form-control" id="itype">
|
||||
<select name="itype" class="custom-select" id="itype">
|
||||
<option value="bridge">{% trans "bridge" %}</option>
|
||||
<option value="ethernet">{% trans "ethernet" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group bridge_name_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "STP" %}</label>
|
||||
<div class="form-group row bridge_name_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "STP" %}</label>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<select name="stp" class="form-control">
|
||||
<select name="stp" class="custom-select">
|
||||
<option value="on">{% trans "on" %}</option>
|
||||
<option value="off">{% trans "off" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group bridge_name_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "Delay" %}</label>
|
||||
<div class="form-group row bridge_name_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "Delay" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" name="delay" class="form-control" value="0" maxlength="3" required pattern="[0-9]+"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#1" data-toggle="tab">{% trans "IPv4" %}</a>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="#ipv4tab" data-toggle="tab">{% trans "IPv4" %}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#ipv6tab" data-toggle="tab">{% trans "IPv6" %}</a>
|
||||
</li>
|
||||
<li><a href="#2" data-toggle="tab">{% trans "IPv6" %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="1">
|
||||
<div class="tab-pane active" id="ipv4tab">
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv4 Mode" %}</label>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv4 Mode" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="ipv4_type" class="form-control" id="ipv4">
|
||||
<select name="ipv4_type" class="custom-select" id="ipv4">
|
||||
<option value="dhcp">{% trans "DHCP" %}</option>
|
||||
<option value="static">{% trans "Static" %}</option>
|
||||
<option value="none">{% trans "No configuration" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group static_ipv4_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv4 Address" %}</label>
|
||||
<div class="form-group row static_ipv4_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv4 Address" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" name="ipv4_addr" maxlength="19" pattern="[0-9\.\/]+">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group static_ipv4_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv4 Gateway" %}</label>
|
||||
<div class="form-group row static_ipv4_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv4 Gateway" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" name="ipv4_gw" maxlength="16" pattern="[0-9\.]+">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="2">
|
||||
<div class="tab-pane" id="ipv6tab">
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv6 Mode" %}</label>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv6 Mode" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select name="ipv6_type" class="form-control" id="ipv6">
|
||||
<select name="ipv6_type" class="custom-select" id="ipv6">
|
||||
<option value="none">{% trans "No configuration" %}</option>
|
||||
<option value="dhcp">{% trans "DHCP" %}</option>
|
||||
<option value="static">{% trans "Static" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group static_ipv6_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv6 Address" %}</label>
|
||||
<div class="form-group row static_ipv6_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv6 Address" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" name="ipv6_addr" maxlength="100" pattern="[0-9a-f\:\/]+">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group static_ipv6_form_group">
|
||||
<label class="col-sm-3 control-label">{% trans "IPv6 Gateway" %}</label>
|
||||
<div class="form-group row static_ipv6_form_group">
|
||||
<label class="col-sm-3 col-form-label">{% trans "IPv6 Gateway" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" name="ipv6_gw" maxlength="100" pattern="[0-9a-f\:]+">
|
||||
</div>
|
||||
|
@ -129,7 +131,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||
{% trans "Close" %}
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary" name="create">
|
||||
|
|
|
@ -5,28 +5,28 @@
|
|||
<!-- Page Heading -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">{% trans "Interface:" %} {{ iface }}</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li class="active">
|
||||
<i class="fa fa-dashboard"></i> <a href="{% url 'overview' compute.id %}">{% trans "Overview" %}</a>
|
||||
<h2 class="page-header">{% trans "Interface" %}: {{ iface }}</h2>
|
||||
<ol class="breadcrumb bg-light shadow-sm">
|
||||
<li class="breadcrumb-item active">
|
||||
<a href="{% url 'overview' compute.id %}"><i class="fa fa-dashboard"></i> {% trans "Overview" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-server"></i> <a href="{% url 'instances' compute.id %}">{% trans "Instances" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'instances' compute.id %}"><i class="fa fa-server"></i> {% trans "Instances" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-hdd-o"></i> <a href="{% url 'storages' compute.id %}">{% trans "Storages" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'storages' compute.id %}"> <i class="fa fa-hdd-o"></i> {% trans "Storages" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> <a href="{% url 'networks' compute.id %}">{% trans "Networks" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'networks' compute.id %}"><i class="fa fa-sitemap"></i> {% trans "Networks" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-wifi"></i> <a href="{% url 'interfaces' compute.id %}">{% trans "Interfaces" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'interfaces' compute.id %}"><i class="fa fa-wifi"></i> {% trans "Interfaces" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-filter"></i> <a href="{% url 'nwfilters' compute.id %}">{% trans "NWFilters" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'nwfilters' compute.id %}"> <i class="fa fa-filter"></i> {% trans "NWFilters" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-key"></i> <a href="{% url 'secrets' compute.id %}">{% trans "Secrets" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'secrets' compute.id %}"><i class="fa fa-key"></i> {% trans "Secrets" %}</a>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
@ -36,50 +36,47 @@
|
|||
{% include 'errors_block.html' %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-4">
|
||||
<p>{% trans "Interface" %}:</p>
|
||||
<p>{% trans "IPv4" %} ({% ifequal ipv4 None %}{% trans 'None' %}{% else %}{{ ipv4_type }}{% endifequal %}):</p>
|
||||
<p>{% trans "IPv6" %} ({% ifequal ipv6 None %}{% trans 'None' %}{% else %}{{ ipv6_type }}{% endifequal %}):</p>
|
||||
<p>{% trans "MAC Adress" %}:</p>
|
||||
<p>{% trans "Interface Type" %}:</p>
|
||||
<dl class="ml-3 row">
|
||||
<dt class="col-4">{% trans "Interface" %}</dt>
|
||||
<dd class="col-8"><strong>{{ iface }}</strong></dd>
|
||||
<dt class="col-4">{% trans "IPv4" %} ({% ifequal ipv4 None %}{% trans 'None' %}{% else %}{{ ipv4_type }}{% endifequal %})</dt>
|
||||
<dd class="col-8">{{ ipv4 }}</dd>
|
||||
<dt class="col-4">{% trans "IPv6" %} ({% ifequal ipv6 None %}{% trans 'None' %}{% else %}{{ ipv6_type }}{% endifequal %})</dt>
|
||||
<dd class="col-8">{{ ipv6 }}</dd>
|
||||
<dt class="col-4">{% trans "MAC" %}</dt>
|
||||
<dd class="col-8">{{ mac }}</dd>
|
||||
<dt class="col-4">{% trans "Interface Type" %}</dt>
|
||||
<dd class="col-8">{{ itype }}</dd>
|
||||
{% ifequal itype 'bridge' %}
|
||||
<p>{% trans "Bridge Device" %}:</p>
|
||||
<dt class="col-4">{% trans "Bridge Device" %}</dt>
|
||||
<dd class="col-8">{{ bridge }}</dd>
|
||||
{% endifequal %}
|
||||
<p>{% trans "Boot Mode" %}:</p>
|
||||
<p>{% trans "State" %}:</p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6">
|
||||
<p><strong>{{ iface }}</strong></p>
|
||||
<p>{{ ipv4 }}</p>
|
||||
<p>{{ ipv6 }}</p>
|
||||
<p>{{ mac }}</p>
|
||||
<p>{{ itype }}</p>
|
||||
{% ifequal itype 'bridge' %}
|
||||
<p>{{ bridge }}</p>
|
||||
{% endifequal %}
|
||||
<p>{{ start_mode }}</p>
|
||||
<p>
|
||||
<dt class="col-4">{% trans "Boot Mode" %}</dt>
|
||||
<dd class="col-8">{{ start_mode }}</dd>
|
||||
<dt class="col-4">{% trans "State" %}</dt>
|
||||
<dd class="col-8">
|
||||
<form action="" method="post" role="form">{% csrf_token %}
|
||||
{% ifequal state 0 %}
|
||||
<input type="submit" class="btn btn-xs btn-default" name="start" value="{% trans "Start" %}">
|
||||
<input type="submit" class="btn btn-xs btn-default" name="delete" value="{% trans "Delete" %}" onclick="return confirm('{% trans "Are you sure?" %}')">
|
||||
<input type="submit" class="btn btn-sm btn-primary" name="start" value="{% trans "Start" %}">
|
||||
<input type="submit" class="btn btn-sm btn-danger" name="delete" value="{% trans "Delete" %}" onclick="return confirm('{% trans "Are you sure?" %}')">
|
||||
{% else %}
|
||||
<input type="submit" class="btn btn-xs btn-default" name="stop" value="{% trans "Stop" %}" onclick="return confirm('{% trans "Are you sure?" %}')">
|
||||
<input type="submit" class="btn btn-sm btn-secondary" name="stop" value="{% trans "Stop" %}" onclick="return confirm('{% trans "Are you sure?" %}')">
|
||||
{% endifequal %}
|
||||
</form>
|
||||
</p>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<div class="col-sm-12">
|
||||
<h5>{% trans 'Slaves' %}</h5>
|
||||
{% ifequal itype 'bridge' %}
|
||||
<table class="table table-bordered">
|
||||
<caption>{% trans 'Slaves' %}</caption>
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<td>{% trans 'MAC' %}</td>
|
||||
<td>{% trans 'Name' %}</td>
|
||||
<td>{% trans 'Type' %}</td>
|
||||
<td>{% trans 'Speed' %}</td>
|
||||
<td>{% trans 'State' %}</td>
|
||||
<tr>
|
||||
<th scope="col">{% trans 'MAC' %}</th>
|
||||
<th scope="col">{% trans 'Name' %}</th>
|
||||
<th scope="col">{% trans 'Type' %}</th>
|
||||
<th scope="col">{% trans 'Speed' %}</th>
|
||||
<th scope="col">{% trans 'State' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
@ -3,34 +3,36 @@
|
|||
{% load staticfiles %}
|
||||
{% block title %}{% trans "Interfaces" %} - {{ compute.name }}{% endblock %}
|
||||
{% block content %}
|
||||
<!-- Page Heading -->
|
||||
<!-- Page Heading -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
{% include 'create_iface_block.html' %}
|
||||
<h1 class="page-header">{{ compute.name }}</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li class="active">
|
||||
<i class="fa fa-dashboard"></i> <a href="{% url 'overview' compute.id %}">{% trans "Overview" %}</a>
|
||||
<h2 class="page-header">{{ compute.name }}</h2>
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb bg-light shadow-sm">
|
||||
<li class="breadcrumb-item active">
|
||||
<a href="{% url 'overview' compute.id %}"><i class="fa fa-dashboard"></i> {% trans "Overview" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-server"></i> <a href="{% url 'instances' compute.id %}">{% trans "Instances" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'instances' compute.id %}"><i class="fa fa-server"></i> {% trans "Instances" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-hdd-o"></i> <a href="{% url 'storages' compute.id %}">{% trans "Storages" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'storages' compute.id %}"><i class="fa fa-hdd-o"></i> {% trans "Storages" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-sitemap"></i> <a href="{% url 'networks' compute.id %}">{% trans "Networks" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'networks' compute.id %}"><i class="fa fa-sitemap"></i> {% trans "Networks" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-wifi"></i> {% trans "Interfaces" %}
|
||||
<li class="breadcrumb-item">
|
||||
<span class="font-weight-bold"><i class="fa fa-wifi"></i> {% trans "Interfaces" %}</span>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-filter"></i> <a href="{% url 'nwfilters' compute.id %}">{% trans "NWFilters" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'nwfilters' compute.id %}"><i class="fa fa-filter"></i> {% trans "NWFilters" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-key"></i> <a href="{% url 'secrets' compute.id %}">{% trans "Secrets" %}</a>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'secrets' compute.id %}"><i class="fa fa-key"></i> {% trans "Secrets" %}</a>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
@ -42,24 +44,25 @@
|
|||
<div class="col-lg-12">
|
||||
<div class="alert alert-warning alert-dismissable">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<i class="fa fa-exclamation-triangle"></i> <strong>{% trans "Warning:" %}</strong> {% trans "Hypervisor doesn't have any Interfaces" %}
|
||||
<i class="fa fa-exclamation-triangle"></i> <strong>{% trans "Warning" %}:</strong> {% trans "Hypervisor doesn't have any Interfaces" %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{% for iface in ifaces_all %}
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<div class="panel {% ifequal iface.state 1 %}panel-success{% else %}panel-danger{% endifequal %} panel-data">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><a href="{% url 'interface' compute.id iface.name %}">{{ iface.name }}</a>
|
||||
</h3>
|
||||
<div class="col-12 col-sm-4">
|
||||
<div class="mb-3 card {% ifequal iface.state 1 %}border-success{% else %}border-danger{% endifequal %} shadow-sm">
|
||||
<div class="card-header {% ifequal iface.state 1 %}bg-success{% else %}bg-danger{% endifequal %}">
|
||||
<h6 class="my-0 card-title">
|
||||
<a class="card-link text-light" href="{% url 'interface' compute.id iface.name %}">{{ iface.name }}</a>
|
||||
</h6>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="pl-0 pr-0 card-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 col-sm-4">
|
||||
<p><strong>{% trans "Type:" %}</strong></p>
|
||||
<p><strong>{% trans "MAC:" %}</strong></p>
|
||||
<div class="col-4 col-sm-5">
|
||||
<p><strong>{% trans "Type" %}:</strong></p>
|
||||
<p><strong>{% trans "MAC" %}:</strong></p>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-7">
|
||||
<div class="col-6 col-sm-7">
|
||||
<p>{{ iface.type }}</p>
|
||||
<p>{{ iface.mac }}</p>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue