{% extends "base.html" %} {% load i18n %} {% load staticfiles %} {% block title %}{% trans "Create new instance - Select Type" %}{% endblock %} {% block content %} <!-- Page Heading --> <div class="row"> <div class="col-lg-12"> <h1 class="page-header">{% trans "New instance on" %} {{ compute.name }}</h1> </div> </div> <!-- /.row --> {% include 'errors_block.html' %} {% 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 --> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"> <a href="#select_architecture" aria-controls="flavor" role="tab" data-toggle="tab"> {% trans "Architecture" %} </a> </li> <li role="presentation"> <a 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"> <div class="well"> <div class="center-block"> <form class="form-horizontal" method="post" role="form">{% csrf_token %} <div class="form-group"> <label class="col-sm-3 control-label">{% trans "Architecture" %}</label> <div class="col-sm-6"> <select class="form-control" 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> <div class="form-group"> <label class="col-sm-3 control-label">{% trans "Chipset" %}</label> <div class="col-sm-6"> <select class="form-control" id="select_chipset" name="chipset"> <!-- fill with script --> </select> </div> </div> <div class="form-group"> <div class="col-sm-6 col-sm-offset-3"> <button class="btn btn-block btn-primary" type="button" name="create_instance" onclick="goto_create()"> {% trans "Next >" %} </button> </div> </div> </form> </div> </div> <div class="clearfix"></div> </div> <div role="tabpanel" class="tab-pane tab-pane-bordered" id="addFromXML"> <div class="well"> <form class="form-horizontal" method="post" role="form">{% csrf_token %} <div class="col-sm-12" id="xmlheight"> <input type="hidden" name="dom_xml"/> <textarea id="editor"></textarea> </div> <button type="submit" class="btn btn-primary" 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.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(); create_machine_url = "/computes/" + compute + "/create/archs/" + arch + "/machines/" + machine; {#url = "{% url 'create_instance' compute.id 'x86_64' 'pc' %}".replace(/x86_64/, arch).replace(/pc/, machine);#} window.location.href = create_machine_url; } </script> {% endif %} {% endblock %}