diff options
author | Tatiana Ovchinnikova <t.v.ovtchinnikova@gmail.com> | 2021-09-30 16:20:44 -0500 |
---|---|---|
committer | Tatiana Ovchinnikova <t.v.ovtchinnikova@gmail.com> | 2021-10-26 19:44:25 +0000 |
commit | 4e0f5a5a85467ca83743e6e8126cd570f329afb9 (patch) | |
tree | 097d95d57396598914da31d619faaedc62f42c8f /horizon | |
parent | 9d1bb3626bc1dbcf29a55aeb094f4350067317cd (diff) | |
download | horizon-4e0f5a5a85467ca83743e6e8126cd570f329afb9.tar.gz |
Make existing empty metadata properties optional
Editing of snapshot image or updating its metadata from Horizon is
not allowed until existing properties with empty values are set or
removed from metadata tree.
They are allowed to be None, therefore Horizon should consider them
optional too.
Closes-Bug: #1945706
Change-Id: Idfec71d209430c7d069133a40ca1a7d340163783
Diffstat (limited to 'horizon')
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html | 2 | ||||
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/tree.service.js | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html index 6a30a2125..9f278aa39 100644 --- a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html +++ b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html @@ -13,7 +13,7 @@ type="text" class="form-control" ng-pattern="ctrl.item.leaf.pattern" - required + ng-required="ctrl.item.leaf.required" ng-model="ctrl.item.leaf.value" ng-minlength="{$ ::ctrl.item.leaf.minLength $}" ng-maxlength="{$ ::ctrl.item.leaf.maxLength $}" diff --git a/horizon/static/framework/widgets/metadata/tree/tree.service.js b/horizon/static/framework/widgets/metadata/tree/tree.service.js index c4d86d87e..1256985f5 100644 --- a/horizon/static/framework/widgets/metadata/tree/tree.service.js +++ b/horizon/static/framework/widgets/metadata/tree/tree.service.js @@ -56,6 +56,7 @@ this.default = null; this.type = 'string'; this.readonly = false; + this.required = true; this.operators = ['<in>']; angular.extend(this, json); this.operator = this.operators[0]; @@ -73,6 +74,11 @@ return; } + // if the existing property has empty string value, make the field not required + if (value === '') { + this.required = false; + } + switch (this.type) { case 'integer': this.value = parseInt(value, 10); |