From 8b7b5083e099e975101fc8cdbd9af72823b9bd21 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Tue, 27 Jun 2017 09:21:38 +0000
Subject: [PATCH] #0 fix - fixed pack form load

---
 securis/src/main/webapp/src/app/forms/base.ts        |   13 ++++++++-----
 securis/src/main/webapp/src/app/forms/pack.form.html |    4 ++--
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/securis/src/main/webapp/src/app/forms/base.ts b/securis/src/main/webapp/src/app/forms/base.ts
index 45d773b..722b4af 100644
--- a/securis/src/main/webapp/src/app/forms/base.ts
+++ b/securis/src/main/webapp/src/app/forms/base.ts
@@ -90,17 +90,21 @@
 		});
 	}
 
+	private applyDefaultValues(default_values: any, target_data: any = {}) : any {
+		Object.keys(default_values).forEach((k : string) => (target_data[k] === undefined) && (target_data[k] = default_values[k]));
+		return target_data;
+	}
+
 	protected prepareInitialData(idparam: string, default_values: any = {}, callback?: (data: any) => void) : void {
 		super.setViewData(() => {
 			this.form_title = this.$L.get('{} data', this.resourceName.capitalize());
-			this.isNew = true;
+			this.isNew = true;			
 		});
 		!!this.route && this.route.params.subscribe(params => {
 			var eleId = params[idparam];
 			if (!eleId) {
 				super.setViewData(() => {
-					this.data = {};
-					Object.keys(default_values).forEach((k : string) => this.data[k] = default_values[k]);
+					this.data = this.applyDefaultValues(default_values, {});
 					this.form_subtitle = this.$L.get('Create a new {}', this.resourceName) ;
 				});
 			} else {
@@ -108,8 +112,7 @@
 					this.isNew = false;
 					this.resourceServices.get(eleId).subscribe(eleData => {
 						super.setViewData(() => {
-							this.data = eleData;
-							Object.keys(default_values).forEach((k : string) => (this.data[k] === undefined) && (this.data[k] = default_values[k]));
+							this.data = this.applyDefaultValues(default_values, eleData);
 							callback && callback(this.data);
 						});
 					});
diff --git a/securis/src/main/webapp/src/app/forms/pack.form.html b/securis/src/main/webapp/src/app/forms/pack.form.html
index 3f55153..980fb9a 100644
--- a/securis/src/main/webapp/src/app/forms/pack.form.html
+++ b/securis/src/main/webapp/src/app/forms/pack.form.html
@@ -14,7 +14,7 @@
 				{{form_subtitle}}
 			</md-card-title>
 			<md-divider></md-divider>
-			<md-card-content>
+			<md-card-content> 
 				<form #form="ngForm" class="inset">
 					<div layout="column" layout-align="start center">
 						<div layout="row" layout-fill layout-padding>
@@ -147,7 +147,7 @@
 					<button *ngIf="!isNew" md-icon-button [mdMenuTriggerFor]="packMenu" aria-label="Pack menu">
 						<md-icon>more_vert</md-icon>
 					</button>
-					<md-menu #packMenu="mdMenu">
+					<md-menu #packMenu="mdMenu" *ngIf="!!data.status">
 						<button md-menu-item *ngFor="let action of pack_menu_options" (click)="packAction(action.command)" [disabled]="!packs.isActionAvailable(action.command, data)">
 							<md-icon *ngIf="!!action.icon">{{ action.icon }}</md-icon> {{ action.name }}
 						</button>

--
Gitblit v1.3.2