Repository: ambari Updated Branches: refs/heads/trunk 0d0a3d340 -> 61d40303b
AMBARI-15289. Duplicated config groups after rename (akovalenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/61d40303 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/61d40303 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/61d40303 Branch: refs/heads/trunk Commit: 61d40303b6c0ddf6a41d0892bfa8986af28b605f Parents: 0d0a3d3 Author: Aleksandr Kovalenko <[email protected]> Authored: Thu Mar 3 22:24:07 2016 +0200 Committer: Aleksandr Kovalenko <[email protected]> Committed: Fri Mar 4 14:26:34 2016 +0200 ---------------------------------------------------------------------- .../service/manage_config_groups_controller.js | 46 +++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/61d40303/ambari-web/app/controllers/main/service/manage_config_groups_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js index c1afb33..91929f5 100644 --- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js +++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js @@ -405,25 +405,35 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, { * @returns {Array} */ generateOriginalConfigGroups: function(configGroups) { + var self = this; return configGroups.map(function (item) { - return { - id: item.get('id'), - config_group_id: item.get('configGroupId'), - name: item.get('name'), - service_name: item.get('serviceName'), - description: item.get('description'), - hosts: item.get('hosts').slice(0), - service_id: item.get('serviceName'), - desired_configs: item.get('desiredConfigs'), - is_default: item.get('isDefault'), - child_config_groups: item.get('childConfigGroups') ? item.get('childConfigGroups').mapProperty('id') : [], - parent_config_group_id: item.get('parentConfigGroup.id'), - properties: item.get('properties') - }; + return self.createOriginalRecord(item); }); }, /** + * Return object to use for loading to model with correct names for object keys + * @param configGroup - config group object from model + * @returns {Object} + */ + createOriginalRecord: function (configGroup) { + return { + id: configGroup.get('id'), + config_group_id: configGroup.get('configGroupId'), + name: configGroup.get('name'), + service_name: configGroup.get('serviceName'), + description: configGroup.get('description'), + hosts: configGroup.get('hosts').slice(0), + service_id: configGroup.get('serviceName'), + desired_configs: configGroup.get('desiredConfigs'), + is_default: configGroup.get('isDefault'), + child_config_groups: configGroup.get('childConfigGroups') ? configGroup.get('childConfigGroups').mapProperty('id') : [], + parent_config_group_id: configGroup.get('parentConfigGroup.id'), + properties: configGroup.get('properties') + }; + }, + + /** * * @param {object} groupToTypeToTagMap * @method loadProperties @@ -628,8 +638,12 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, { }.property('warningMessage', 'configGroupName', 'configGroupDesc'), onPrimary: function () { - self.set('selectedConfigGroup.name', this.get('configGroupName')); - self.set('selectedConfigGroup.description', this.get('configGroupDesc')); + var renamedGroup = self.createOriginalRecord(self.get('selectedConfigGroup')); + renamedGroup.name = this.get('configGroupName'); + renamedGroup.description = this.get('configGroupDesc'); + App.store.load(App.ServiceConfigGroup, renamedGroup); + App.store.commit(); + App.configGroupsMapper.deleteRecord(self.get('selectedConfigGroup')); this.hide(); } });
