diff --git a/src/app/components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component.ts b/src/app/components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component.ts index 14f1edf6..2eec1bbc 100644 --- a/src/app/components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component.ts +++ b/src/app/components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component.ts @@ -62,6 +62,8 @@ export class QemuVmTemplateDetailsComponent implements OnInit { this.getConfiguration(); this.qemuService.getTemplate(this.server, template_id).subscribe((qemuTemplate: QemuTemplate) => { this.qemuTemplate = qemuTemplate; + this.adapters.push(adapter); + }); this.qemuService.getBinaries(server).subscribe((qemuBinaries: QemuBinary[]) => { this.binaries = qemuBinaries; @@ -114,7 +116,23 @@ export class QemuVmTemplateDetailsComponent implements OnInit { configureCustomAdapters(){ this.isConfiguratorOpened = !this.isConfiguratorOpened; - this.qemuTemplate.custom_adapters = this.adapters; + this.saveCustomAdapters(); + } + + saveCustomAdapters() { + let copyOfAdapters = this.adapters; + this.adapters = []; + + for(let i=0; i { this.toasterService.success("Changes saved"); diff --git a/src/app/components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component.ts b/src/app/components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component.ts index 80d3b056..686d46f5 100644 --- a/src/app/components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component.ts +++ b/src/app/components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component.ts @@ -65,17 +65,9 @@ export class VirtualBoxTemplateDetailsComponent implements OnInit { this.virtualBoxService.getTemplate(this.server, template_id).subscribe((virtualBoxTemplate: VirtualBoxTemplate) => { this.virtualBoxTemplate = virtualBoxTemplate; - for(let i=0; i elem.adapter_number === i); - if (adapter) { - this.adapters.push(adapter); - } else { - this.adapters.push({ - adapter_number: i, - adapter_type: this.virtualBoxTemplate.adapter_type - }); - } - } + this.virtualBoxTemplate.custom_adapters.forEach((adapter: CustomAdapter) => { + this.adapters.push(adapter); + }); }); }); } @@ -89,7 +81,23 @@ export class VirtualBoxTemplateDetailsComponent implements OnInit { configureCustomAdapters(){ this.isConfiguratorOpened = !this.isConfiguratorOpened; - this.virtualBoxTemplate.custom_adapters = this.adapters; + this.saveCustomAdapters(); + } + + saveCustomAdapters() { + let copyOfAdapters = this.adapters; + this.adapters = []; + + for(let i=0; i { this.toasterService.success("Changes saved"); }); diff --git a/src/app/components/preferences/vmware/vmware-template-details/vmware-template-details.component.ts b/src/app/components/preferences/vmware/vmware-template-details/vmware-template-details.component.ts index 3fddcf30..a8422bbb 100644 --- a/src/app/components/preferences/vmware/vmware-template-details/vmware-template-details.component.ts +++ b/src/app/components/preferences/vmware/vmware-template-details/vmware-template-details.component.ts @@ -55,6 +55,10 @@ export class VmwareTemplateDetailsComponent implements OnInit { this.getConfiguration(); this.vmwareService.getTemplate(this.server, template_id).subscribe((vmwareTemplate: VmwareTemplate) => { this.vmwareTemplate = vmwareTemplate; + + this.vmwareTemplate.custom_adapters.forEach((adapter: CustomAdapter) => { + this.adapters.push(adapter); + }); }); }); } @@ -74,6 +78,9 @@ export class VmwareTemplateDetailsComponent implements OnInit { if (this.generalSettingsForm.invalid) { this.toasterService.error(`Fill all required fields`); } else { + this.saveCustomAdapters(); + this.vmwareTemplate.custom_adapters = this.adapters; + this.vmwareService.saveTemplate(this.server, this.vmwareTemplate).subscribe((vmwareTemplate: VmwareTemplate) => { this.toasterService.success("Changes saved"); }); @@ -84,27 +91,25 @@ export class VmwareTemplateDetailsComponent implements OnInit { this.isConfiguratorOpened = !this.isConfiguratorOpened; } - configureCustomAdapters() { + configureCustomAdapters(){ this.isConfiguratorOpened = !this.isConfiguratorOpened; + this.saveCustomAdapters(); + } + + saveCustomAdapters() { + let copyOfAdapters = this.adapters; this.adapters = []; - let adapters: CustomAdapter[] = []; - for (let i=0; i