Repository: ambari Updated Branches: refs/heads/trunk 59b891c60 -> d925b2fa2
AMBARI-14265 Saving config overrides doesn't work when adding config to new group. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d925b2fa Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d925b2fa Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d925b2fa Branch: refs/heads/trunk Commit: d925b2fa2b99144b614db07bee1a6e25245a9981 Parents: 59b891c Author: aBabiichuk <ababiic...@cybervisiontech.com> Authored: Tue Dec 8 15:55:47 2015 +0200 Committer: aBabiichuk <ababiic...@cybervisiontech.com> Committed: Tue Dec 8 15:55:47 2015 +0200 ---------------------------------------------------------------------- .../main/service/manage_config_groups_controller.js | 9 ++++----- ambari-web/app/mappers/configs/config_groups_mapper.js | 4 ++-- .../mixins/main/service/configs/config_overridable.js | 11 +++-------- ambari-web/app/models/configs/config_group.js | 6 +++++- 4 files changed, 14 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d925b2fa/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 231da20..bdc6200 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 @@ -675,11 +675,10 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, { }.property('warningMessage', 'configGroupName'), onPrimary: function () { - var defaultConfigGroup = self.get('configGroups').findProperty('isDefault'); - var properties = []; - var serviceName = self.get('serviceName'); - //temporarily id until real assigned by server - var newGroupId = serviceName + "_NEW_" + self.get('configGroups.length'); + var defaultConfigGroup = self.get('configGroups').findProperty('isDefault'), + properties = [], serviceName = self.get('serviceName'), + groupName = this.get('configGroupName').trim(), + newGroupId = App.ServiceConfigGroup.groupId(serviceName, groupName); App.store.load(App.ServiceConfigGroup, { id: newGroupId, http://git-wip-us.apache.org/repos/asf/ambari/blob/d925b2fa/ambari-web/app/mappers/configs/config_groups_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/configs/config_groups_mapper.js b/ambari-web/app/mappers/configs/config_groups_mapper.js index 94929a7..7630d0e 100644 --- a/ambari-web/app/mappers/configs/config_groups_mapper.js +++ b/ambari-web/app/mappers/configs/config_groups_mapper.js @@ -67,9 +67,9 @@ App.configGroupsMapper = App.QuickDataMapper.create({ json.items.forEach(function (configGroup) { if (configGroup.group_name != 'default') { if (mapFromVersions) { - configGroup.id = configGroup.service_name + configGroup.group_id; + configGroup.id = App.ServiceConfigGroup.groupId(configGroup.service_name, configGroup.group_name); } else { - configGroup.id = configGroup.ConfigGroup.tag + configGroup.ConfigGroup.id; + configGroup.id = App.ServiceConfigGroup.groupId(configGroup.ConfigGroup.tag, configGroup.ConfigGroup.group_name); configGroup.hosts = configGroup.ConfigGroup.hosts.mapProperty('host_name'); configGroup.service_name = configGroup.ConfigGroup.tag; } http://git-wip-us.apache.org/repos/asf/ambari/blob/d925b2fa/ambari-web/app/mixins/main/service/configs/config_overridable.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mixins/main/service/configs/config_overridable.js b/ambari-web/app/mixins/main/service/configs/config_overridable.js index 9005725..9f56a08 100644 --- a/ambari-web/app/mixins/main/service/configs/config_overridable.js +++ b/ambari-web/app/mixins/main/service/configs/config_overridable.js @@ -131,7 +131,7 @@ App.ConfigOverridable = Em.Mixin.create({ } else { var newConfigGroupName = this.get('newConfigGroupName').trim(); var newConfigGroup = { - id: serviceName + "_NEW_" + configGroups.length, + id: App.ServiceConfigGroup.groupId(serviceId, newConfigGroupName), name: newConfigGroupName, is_default: false, parent_config_group_id: App.ServiceConfigGroup.getParentConfigGroupId(serviceId), @@ -220,7 +220,7 @@ App.ConfigOverridable = Em.Mixin.create({ * Create a new config-group for a service. * * @param {object} newConfigGroupData config group to post to server - * @param {Function} callback Callback function for Success or Error handling + * @param {Function} [callback] Callback function for Success or Error handling * @return {$.ajax} * @method postNewConfigurationGroup */ @@ -234,7 +234,6 @@ App.ConfigOverridable = Em.Mixin.create({ var sendData = { name: 'config_groups.create', data: { - 'mock_id': newConfigGroupData.id, 'group_name': newConfigGroupData.name, 'service_id': newConfigGroupData.service_id, 'description': newConfigGroupData.description, @@ -243,11 +242,7 @@ App.ConfigOverridable = Em.Mixin.create({ success: 'successFunction', error: 'errorFunction', successFunction: function (response, opt, params) { - var configGroupData = App.router.get('manageConfigGroupsController').generateOriginalConfigGroups([App.ServiceConfigGroup.find(params.mock_id)]); - App.configGroupsMapper.deleteRecord(App.ServiceConfigGroup.find(params.mock_id)); - configGroupData[0].id = response.resources[0].ConfigGroup.id; - App.store.load(App.ServiceConfigGroup, configGroupData[0]); - App.ServiceConfigGroup.find().clear(); + App.configGroupsMapper.map(response, false, [params.service_id]); if (callback) { callback(); } http://git-wip-us.apache.org/repos/asf/ambari/blob/d925b2fa/ambari-web/app/models/configs/config_group.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/configs/config_group.js b/ambari-web/app/models/configs/config_group.js index 1bbcd3f..70379e5 100644 --- a/ambari-web/app/models/configs/config_group.js +++ b/ambari-web/app/models/configs/config_group.js @@ -158,5 +158,9 @@ App.ServiceConfigGroup = DS.Model.extend({ App.ServiceConfigGroup.FIXTURES = []; App.ServiceConfigGroup.getParentConfigGroupId = function(serviceName) { - return serviceName + '0'; + return App.ServiceConfigGroup.groupId(serviceName, 'Default'); +}; + +App.ServiceConfigGroup.groupId = function(serviceName, groupName) { + return serviceName + "_" + groupName; };