1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-12-27 00:25:22 +00:00
webvirtcloud/instances/templates/create_instance_w1.html

148 lines
6.5 KiB
HTML
Raw Normal View History

{% extends "base.html" %}
{% load i18n %}
{% load staticfiles %}
2020-10-15 14:18:45 +00:00
{% block title %}{% trans "Create new instance" %} - {% trans "Select Type" %}{% endblock %}
2020-10-15 14:18:45 +00:00
{% block page_heading%}
{% blocktrans with host=compute.name %}New instance on {{ host }} {% endblocktrans %}
{% endblock page_heading %}
{% block content %}
{% include 'pleasewaitdialog.html' %}
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
<div class="row" id="max-width-page">
<div class="col-lg-12">
<div role="tabpanel">
<!-- Nav tabs -->
2020-05-26 13:18:38 +00:00
<ul class="nav nav-tabs" role="tablist" aria-label="Instance create method">
2020-05-19 16:53:54 +00:00
<li class="nav-item">
<a class="nav-link active" href="#select_architecture" aria-controls="flavor" role="tab" data-toggle="tab">
{% trans "Architecture" %}
</a>
</li>
2020-05-19 16:53:54 +00:00
<li class="nav-item">
<a class="nav-link" href="#addFromXML" aria-controls="addFromXML" role="tab" data-toggle="tab">
{% trans "XML" %}
</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane tab-pane-bordered active" id="select_architecture">
2020-05-19 16:53:54 +00:00
<div class="center-block">
2020-05-26 13:18:38 +00:00
<form method="post" role="form" aria-label="Select instance architecture form">{% csrf_token %}
2020-05-19 16:53:54 +00:00
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans "Architecture" %}</label>
<div class="col-sm-6">
2020-05-19 16:53:54 +00:00
<select class="custom-select" id="select_archs" name="archs" onchange="get_machine_types({{ compute_id }}, value);">
{% for hpv in hypervisors %}
<option value="{{ hpv }}" {% if hpv == default_arch %}selected{% endif %}>{{ hpv }}</option>
{% endfor %}
</select>
</div>
</div>
2020-05-19 16:53:54 +00:00
<div class="form-group row">
<label class="col-sm-3 col-form-label">{% trans "Chipset" %}</label>
<div class="col-sm-6">
2020-05-19 16:53:54 +00:00
<select class="custom-select" id="select_chipset" name="chipset">
<!-- fill with script -->
</select>
</div>
</div>
2020-05-19 16:53:54 +00:00
<div class="form-group row">
<div class="col-sm-6 offset-3">
<button class="btn btn-block btn-primary" type="button" name="create_instance" onclick="goto_create()">
2020-05-19 16:53:54 +00:00
{% trans "Next" %}
</button>
</div>
</div>
</form>
</div>
2020-05-19 16:53:54 +00:00
<div class="clearfix"></div>
</div>
<div role="tabpanel" class="tab-pane tab-pane-bordered" id="addFromXML">
<div>
2020-05-26 13:18:38 +00:00
<form method="post" role="form" aria-label="Create instance with XML form">{% csrf_token %}
<div class="col-sm-12" id="xmlheight">
<input type="hidden" name="dom_xml"/>
<textarea id="editor"></textarea>
</div>
2020-05-19 16:53:54 +00:00
<button type="submit" class="btn btn-primary float-right" name="create_xml" onclick="showPleaseWaitDialog()">
{% trans "Create" %}
</button>
</form>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block script %}
<script>
$(document).ready(function () {
let arch = $("#select_archs").val();
get_machine_types({{ compute_id }}, arch);
});
function get_machine_types(compute_id, arch) {
get_machine_type_url = "/computes/" + compute_id + "/archs/" + arch + "/machines";
$.getJSON(get_machine_type_url, function (data) {
$("#select_chipset").find('option').remove();
$("#select_archs").val(arch);
$.each(data['machines'], function(i, item) {
if (item == '{{ default_machine }}') {
var selected = 'selected';
}else{
var selected = '';
}
$("#select_chipset").append('<option value="' + item + '"' + selected +'>' + item + '</option>');
});
});
}
</script>
<script src="{% static "js/ace/ace.js" %}"></script>
<script>
var editor = ace.edit("editor");
editor.getSession().setMode("ace/mode/xml");
var input = $('input[name="dom_xml"]');
editor.getSession().on("change",function () {
input.val(editor.getSession().getValue());
})
</script>
{% if request.user.is_superuser %}
<script>
function goto_create() {
let compute = '{{ compute.id }}';
let arch = $("#select_archs").val();
let machine = $("#select_chipset").val();
2020-07-13 09:33:09 +00:00
//create_machine_url = "/computes/" + compute + "/create/archs/" + arch + "/machines/" + machine;
url = "{% url 'instances:create_instance' compute.id 'x86_64' 'pc' %}".replace(/x86_64/, arch).replace(/pc/, machine);
window.location.href = url;//create_machine_url;
}
</script>
{% endif %}
{% endblock %}