VM Edit: basic/advanced view toggle replaced with form/xml view

This commit is contained in:
Eric Schultz
2018-03-09 16:46:53 -06:00
parent 52c17c588c
commit cfe3259020
6 changed files with 2324 additions and 1895 deletions
+20 -16
View File
@@ -178,10 +178,10 @@ if (!empty($_GET['uuid'])) {
margin-top: 1px;
}
.basic {
/*Empty placeholder*/
display: none;
}
.advanced {
display: none;
/*Empty placeholder*/
}
.switch-button-label.off {
color: inherit;
@@ -339,7 +339,11 @@ if (!empty($_GET['uuid'])) {
<script src="/plugins/dynamix.vm.manager/javascript/dynamix.vm.manager.js"></script>
<script>
function isVMAdvancedMode() {
return ($.cookie('vmmanager_listview_mode') == 'advanced');
return true;
}
function isVMXMLMode() {
return ($.cookie('vmmanager_listview_mode') == 'xml');
}
$(function() {
@@ -354,13 +358,13 @@ $(function() {
$('.advancedview').switchButton({
labels_placement: "left",
on_label: 'Advanced View',
off_label: 'Basic View',
checked: isVMAdvancedMode()
on_label: 'XML View',
off_label: 'Form View',
checked: isVMXMLMode()
});
$('.advancedview').change(function () {
toggleRows('advanced', $(this).is(':checked'), 'basic');
$.cookie('vmmanager_listview_mode', $(this).is(':checked') ? 'advanced' : 'basic', { expires: 3650 });
toggleRows('xmlview', $(this).is(':checked'), 'formview');
$.cookie('vmmanager_listview_mode', $(this).is(':checked') ? 'xml' : 'form', { expires: 3650 });
});
$('#template_img').click(function (){
@@ -389,19 +393,19 @@ $(function() {
$("#vmform input[data-pickroot]").fileTreeAttach();
var $el = $('#form_content');
var $advanced = $el.find('.advanced');
var $basic = $el.find('.basic');
var $xmlview = $el.find('.xmlview');
var $formview = $el.find('.formview');
if ($advanced.length || $basic.length) {
if ($xmlview.length || $formview.length) {
$('.advancedview_panel').fadeIn('fast');
if (isVMAdvancedMode()) {
$('.basic').hide();
$('.advanced').filter(function() {
if (isVMXMLMode()) {
$('.formview').hide();
$('.xmlview').filter(function() {
return (($(this).prop('style').display + '') === '');
}).show();
} else {
$('.advanced').hide();
$('.basic').filter(function() {
$('.xmlview').hide();
$('.formview').filter(function() {
return (($(this).prop('style').display + '') === '');
}).show();
}
@@ -1463,7 +1463,7 @@
return $ret;
}
function domain_define($xml) {
function domain_define($xml, $autostart=false) {
if (strpos($xml,'<qemu:commandline>')) {
$tmp = explode("\n", $xml);
for ($i = 0; $i < sizeof($tmp); $i++)
@@ -1471,6 +1471,13 @@
$tmp[$i] = "<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>";
$xml = join("\n", $tmp);
}
if ($autostart) {
$tmp = libvirt_domain_create_xml($this->conn, $xml);
if (!$tmp)
return $this->_set_last_error();
}
$tmp = libvirt_domain_define_xml($this->conn, $xml);
return ($tmp) ? $tmp : $this->_set_last_error();
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -31,7 +31,7 @@
if (array_key_exists('createvm', $_POST)) {
$tmp = $lv->domain_define($_POST['xmldesc']);
$tmp = $lv->domain_define($_POST['xmldesc'], !empty($config['domain']['startnow']));
if (!$tmp){
$arrResponse = ['error' => $lv->get_last_error()];
} else {