From ff2f17a9098bb0d1662cf5a6bd74d017e2278956 Mon Sep 17 00:00:00 2001 From: Paul Van Eck Date: Wed, 15 Feb 2017 15:23:05 -0800 Subject: [PATCH] Fix typo and minor edit modal issue * Fixed a typo in the html (s/ig/if/) * Made edit modals use a copy of the object to be edited, so that it is not being live updated in the background outside of the modal as you type. * Also fixed the API return content for creating product versions to be consistent with the GET return content. Change-Id: I981250ad331993a70edff4122eada27fa38efc0b --- .../app/components/products/partials/management.html | 2 +- refstack-ui/app/components/products/productController.js | 6 ++++-- refstack-ui/app/components/vendors/vendorController.js | 2 +- refstack/api/controllers/products.py | 4 +++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/refstack-ui/app/components/products/partials/management.html b/refstack-ui/app/components/products/partials/management.html index ced8e59d..b41cf300 100644 --- a/refstack-ui/app/components/products/partials/management.html +++ b/refstack-ui/app/components/products/partials/management.html @@ -1,5 +1,5 @@
- Edit diff --git a/refstack-ui/app/components/products/productController.js b/refstack-ui/app/components/products/productController.js index 5541c6e5..3d7695b5 100644 --- a/refstack-ui/app/components/products/productController.js +++ b/refstack-ui/app/components/products/productController.js @@ -336,7 +336,7 @@ var ctrl = this; - ctrl.version = version; + ctrl.version = angular.copy(version); ctrl.parent = parent; ctrl.close = close; @@ -369,6 +369,8 @@ '/versions/', ctrl.version.id ].join(''); var content = {'cpid': ctrl.version.cpid}; $http.put(url, content).success(function() { + // Update the original version object. + version.cpid = ctrl.version.cpid; ctrl.showSuccess = true; }).error(function(error) { ctrl.showError = true; @@ -400,7 +402,7 @@ ctrl.saveChanges = saveChanges; ctrl.removeProperty = removeProperty; - ctrl.product = product; + ctrl.product = angular.copy(product); ctrl.productName = product.name; ctrl.productProperties = []; diff --git a/refstack-ui/app/components/vendors/vendorController.js b/refstack-ui/app/components/vendors/vendorController.js index 5bc738fc..7035e6d1 100644 --- a/refstack-ui/app/components/vendors/vendorController.js +++ b/refstack-ui/app/components/vendors/vendorController.js @@ -267,7 +267,7 @@ ctrl.saveChanges = saveChanges; ctrl.removeProperty = removeProperty; - ctrl.vendor = vendor; + ctrl.vendor = angular.copy(vendor); ctrl.vendorName = vendor.name; ctrl.vendorProperties = []; ctrl.isAdmin = $rootScope.auth.currentUser.is_admin; diff --git a/refstack/api/controllers/products.py b/refstack/api/controllers/products.py index 313c8628..16e756dd 100644 --- a/refstack/api/controllers/products.py +++ b/refstack/api/controllers/products.py @@ -79,8 +79,10 @@ class VersionsController(validation.BaseRestControllerWithValidation): creator = api_utils.get_user_id() pecan.response.status = 201 + allowed_keys = ['id', 'product_id', 'version', 'cpid'] return db.add_product_version(self.product_id, version_info['version'], - creator, version_info.get('cpid')) + creator, version_info.get('cpid'), + allowed_keys) @secure(api_utils.is_authenticated) @pecan.expose('json', method='PUT')