Fix update the policy in SDC UI 38/102738/3
authork.kedron <k.kedron@partner.samsung.com>
Mon, 2 Mar 2020 12:51:08 +0000 (13:51 +0100)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Thu, 5 Mar 2020 11:01:39 +0000 (11:01 +0000)
Refresh the property.value which is sent to the backend
to properly update the policy property.

Issue-ID: SDC-2797
Signed-off-by: Krystian Kedron <k.kedron@partner.samsung.com>
Change-Id: If87c7acb5324cf933e9c8a4ebd5616a11d8b4c71

catalog-ui/src/app/ng2/services/component-instance-services/component-instance.service.ts
catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts

index cc382a3..af6ed9d 100644 (file)
@@ -93,7 +93,7 @@ export class ComponentInstanceServiceNg2 {
             .map((res) => {
                 return res.map((resProperty) => {
                     let newProp = new PropertyModel(resProperty);
-                    newProp.resourceInstanceUniqueId = componentInstanceId
+                    newProp.resourceInstanceUniqueId = componentInstanceId;
                     return newProp;
                 });
             });
index 37b1ce7..3d1ac3d 100644 (file)
@@ -272,12 +272,17 @@ export class PropertyFormViewModel {
             };
 
             //Not clean, but doing this as a temporary fix until we update the property right panel modals
-            if(this.propertyOwnerType == "group"){
+            if (this.propertyOwnerType === "group"){
                 this.ComponentInstanceServiceNg2.updateComponentGroupInstanceProperties(this.workspaceService.metadata.componentType, this.workspaceService.metadata.uniqueId, this.propertyOwnerId, [property])
-                    .subscribe((propertiesFromBE) => { onPropertySuccess(<PropertyModel>propertiesFromBE[0])}, error => onPropertyFaild);
-            } else if(this.propertyOwnerType == "policy"){
+                    .subscribe((propertiesFromBE) => { onPropertySuccess(<PropertyModel>propertiesFromBE[0])}, error => onPropertyFaild(error));
+            } else if (this.propertyOwnerType === "policy"){
+                if (!this.$scope.editPropertyModel.property.simpleType &&
+                    !this.$scope.isSimpleType(this.$scope.editPropertyModel.property.type) &&
+                    !_.isNil(this.$scope.myValue)) {
+                    property.value = JSON.stringify(this.$scope.myValue);
+                }
                 this.ComponentInstanceServiceNg2.updateComponentPolicyInstanceProperties(this.workspaceService.metadata.componentType, this.workspaceService.metadata.uniqueId, this.propertyOwnerId, [property])
-                    .subscribe((propertiesFromBE) => { onPropertySuccess(<PropertyModel>propertiesFromBE[0])}, error => onPropertyFaild);
+                    .subscribe((propertiesFromBE) => { onPropertySuccess(<PropertyModel>propertiesFromBE[0])}, error => onPropertyFaild(error));
             } else {
                 //in case we have uniqueId we call update method
                 if (this.$scope.isPropertyValueOwner) {