diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 4d0bee06..7b2f3fd3 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -29,7 +29,8 @@ const routes: Routes = [ { path: 'server/:server_id/projects', component: ProjectsComponent }, { path: 'settings', component: SettingsComponent }, { path: 'server/:server_id/preferences', component: PreferencesComponent }, - { path: 'server/:server_id/preferences/general', component: GeneralPreferencesComponent }, + // temporary disabled + // { path: 'server/:server_id/preferences/general', component: GeneralPreferencesComponent }, // temporary disabled // { path: 'server/:server_id/preferences/qemu', component: QemuPreferencesComponent }, { path: 'server/:server_id/preferences/qemu/templates', component: QemuVmTemplatesComponent }, diff --git a/src/app/components/preferences/preferences.component.html b/src/app/components/preferences/preferences.component.html index e3d1ad0a..7df47b94 100644 --- a/src/app/components/preferences/preferences.component.html +++ b/src/app/components/preferences/preferences.component.html @@ -7,11 +7,6 @@
- - -
- - - - - - - - - - - - - - - - {{category[0]}} - - - - - - - {{type}} - - - - - Auto start console - +
+ + + + + + + + + + + + + + + + {{category[0]}} + + + + + + + {{type}} + + + + + Auto start console + +

diff --git a/src/app/components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component.ts b/src/app/components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component.ts index 0aee5eb5..df51cce2 100644 --- a/src/app/components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component.ts +++ b/src/app/components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component.ts @@ -1,10 +1,11 @@ import { Component, OnInit } from "@angular/core"; -import { ActivatedRoute, ParamMap } from '@angular/router'; +import { ActivatedRoute } from '@angular/router'; import { ServerService } from '../../../../services/server.service'; import { Server } from '../../../../models/server'; import { ToasterService } from '../../../../services/toaster.service'; import { VpcsService } from '../../../../services/vpcs.service'; import { VpcsTemplate } from '../../../../models/templates/vpcs-template'; +import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms'; @Component({ @@ -15,6 +16,7 @@ import { VpcsTemplate } from '../../../../models/templates/vpcs-template'; export class VpcsTemplateDetailsComponent implements OnInit { server: Server; vpcsTemplate: VpcsTemplate; + inputForm: FormGroup; consoleTypes: string[] = ['telnet', 'none']; categories = [["Default", "guest"], @@ -27,8 +29,16 @@ export class VpcsTemplateDetailsComponent implements OnInit { private route: ActivatedRoute, private serverService: ServerService, private vpcsService: VpcsService, - private toasterService: ToasterService - ) {} + private toasterService: ToasterService, + private formBuilder: FormBuilder + ) { + this.inputForm = this.formBuilder.group({ + templateName: new FormControl('', Validators.required), + defaultName: new FormControl('', Validators.required), + scriptFile: new FormControl('', Validators.required), + symbol: new FormControl('', Validators.required) + }); + } ngOnInit() { const server_id = this.route.snapshot.paramMap.get("server_id"); @@ -43,8 +53,12 @@ export class VpcsTemplateDetailsComponent implements OnInit { } onSave() { - this.vpcsService.saveTemplate(this.server, this.vpcsTemplate).subscribe((vpcsTemaple: VpcsTemplate) => { - this.toasterService.success("Changes saved"); - }); + if( this.inputForm.invalid) { + this.toasterService.error(`Fill all required fields`); + } else { + this.vpcsService.saveTemplate(this.server, this.vpcsTemplate).subscribe((vpcsTemaple: VpcsTemplate) => { + this.toasterService.success("Changes saved"); + }); + } } }