Repository: ambari
Updated Branches:
  refs/heads/trunk c3690fecf -> a1b19ea27


AMBARI-11061. Select stacks page : Next button is disabled forever 
(onechiporenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a1b19ea2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a1b19ea2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a1b19ea2

Branch: refs/heads/trunk
Commit: a1b19ea27f9d1cdf7999f1ce079efd29fd907b4a
Parents: c3690fe
Author: Oleg Nechiporenko <[email protected]>
Authored: Tue May 12 15:09:56 2015 +0300
Committer: Oleg Nechiporenko <[email protected]>
Committed: Tue May 12 15:09:56 2015 +0300

----------------------------------------------------------------------
 ambari-web/app/controllers/installer.js      | 16 +++++++----
 ambari-web/app/mappers/stack_mapper.js       |  4 +--
 ambari-web/app/views/wizard/step1_view.js    | 34 ++++++++++++-----------
 ambari-web/test/mappers/stack_mapper_test.js |  1 +
 4 files changed, 31 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/controllers/installer.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/installer.js 
b/ambari-web/app/controllers/installer.js
index bf11c09..92fb2f0 100644
--- a/ambari-web/app/controllers/installer.js
+++ b/ambari-web/app/controllers/installer.js
@@ -515,9 +515,11 @@ App.InstallerController = App.WizardController.extend({
       selectedStack.get('operatingSystems').forEach(function (os) {
         if (os.get('isSelected')) {
           os.get('repositories').forEach(function (repo) {
-            repo.set('errorTitle', '');
-            repo.set('errorContent', '');
-            repo.set('validation', App.Repository.validation['INPROGRESS']);
+            repo.setProperties({
+              errorTitle: '',
+              errorContent: '',
+              validation: App.Repository.validation['INPROGRESS']
+            });
             this.set('content.isCheckInProgress', true);
             App.ajax.send({
               name: 'wizard.advanced_repositories.valid_url',
@@ -575,9 +577,11 @@ App.InstallerController = App.WizardController.extend({
       var os = selectedStack.get('operatingSystems').findProperty('id', 
params.osId);
       var repo = os.get('repositories').findProperty('repoId', params.repoId);
       if (repo) {
-        repo.set('validation', App.Repository.validation['INVALID']);
-        repo.set('errorTitle', request.status + ":" + request.statusText);
-        repo.set('errorContent', $.parseJSON(request.responseText) ? 
$.parseJSON(request.responseText).message : "");
+        repo.setProperties({
+          validation: App.Repository.validation['INVALID'],
+          errorTitle: request.status + ":" + request.statusText,
+          errorContent: $.parseJSON(request.responseText) ? 
$.parseJSON(request.responseText).message : ""
+        });
       }
     }
     this.set('content.isCheckInProgress', false);

http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/mappers/stack_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/stack_mapper.js 
b/ambari-web/app/mappers/stack_mapper.js
index df6f8f4..eb64ef6 100644
--- a/ambari-web/app/mappers/stack_mapper.js
+++ b/ambari-web/app/mappers/stack_mapper.js
@@ -85,8 +85,8 @@ App.stackMapper = App.QuickDataMapper.create({
 
         var repositoriesArray = [];
         ops.repositories.forEach(function(repo) {
-          repo.Repositories.id = repo.Repositories.os_type + "-" + 
repo.Repositories.repo_id;
-          repo.Repositories.os_id = repo.Repositories.stack_name + "-" + 
repo.Repositories.stack_version + "-" + repo.Repositories.os_type;
+          repo.Repositories.id = [repo.Repositories.stack_name, 
repo.Repositories.stack_version, repo.Repositories.os_type, 
repo.Repositories.repo_id].join('-');
+          repo.Repositories.os_id = [repo.Repositories.stack_name, 
repo.Repositories.stack_version, repo.Repositories.os_type].join('-');
           resultRepo.push(this.parseIt(repo.Repositories, 
this.get('configRepository')));
           repositoriesArray.pushObject(repo.Repositories);
         }, this);

http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/app/views/wizard/step1_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/wizard/step1_view.js 
b/ambari-web/app/views/wizard/step1_view.js
index 60725f1..76174a0 100644
--- a/ambari-web/app/views/wizard/step1_view.js
+++ b/ambari-web/app/views/wizard/step1_view.js
@@ -49,10 +49,7 @@ App.WizardStep1View = Em.View.extend({
 
   operatingSystems: function () {
     var selectedStack = this.get('controller.selectedStack');
-    var result = [];
-    if (!!selectedStack)
-      result = selectedStack.get('operatingSystems');
-    return result;
+    return Em.isNone(selectedStack) ? [] : 
selectedStack.get('operatingSystems');
   }.property('controller.selectedStack'),
 
   /**
@@ -65,10 +62,7 @@ App.WizardStep1View = Em.View.extend({
    */
   allRepositories: function () {
     var selectedStack = this.get('controller.selectedStack');
-    var result = [];
-    if (!!selectedStack)
-      result = selectedStack.get('repositories');
-    return result;
+    return Em.isNone(selectedStack) ? [] : selectedStack.get('repositories');
   }.property('controller.selectedStack'),
 
   /**
@@ -186,8 +180,10 @@ App.WizardStep1View = Em.View.extend({
       operatingSystems.forEach(function (os) {
         if (!os.get('isSelected')) {
           os.get('repositories').forEach(function (repository) {
-            repository.set('baseUrl', repository.get('latestBaseUrl'));
-            repository.set('validation', App.Repository.validation['PENDING']);
+            repository.setProperties({
+              baseUrl: repository.get('latestBaseUrl'),
+              validation: App.Repository.validation['PENDING']
+            });
           });
         } else {
           os.get('repositories').forEach(function (repository) {
@@ -206,8 +202,10 @@ App.WizardStep1View = Em.View.extend({
    * @param {object} event
    */
   undoGroupLocalRepository: function (event) {
-    event.context.set('baseUrl', event.context.get('latestBaseUrl'));
-    event.context.set('validation', App.Repository.validation['PENDING']);
+    event.context.setProperties({
+      baseUrl: event.context.get('latestBaseUrl'),
+      validation: App.Repository.validation['PENDING']
+    });
   },
 
   /**
@@ -219,8 +217,10 @@ App.WizardStep1View = Em.View.extend({
     if (!event.context.get('isSelected')) {
       return;
     }
-    event.context.set('baseUrl', '');
-    event.context.set('validation', App.Repository.validation['PENDING']);
+    event.context.setProperties({
+      baseUrl: '',
+      validation: App.Repository.validation['PENDING']
+    });
   },
 
   /**
@@ -232,8 +232,10 @@ App.WizardStep1View = Em.View.extend({
     var repositories = this.get('allRepositories');
     repositories.forEach(function (repository) {
       if (repository.get('lastBaseUrl') != repository.get('baseUrl')) {
-        repository.set('lastBaseUrl', repository.get('baseUrl'));
-        repository.set('validation', App.Repository.validation['PENDING']);
+        repository.setProperties({
+          lastBaseUrl: repository.get('baseUrl'),
+          validation: App.Repository.validation['PENDING']
+        });
       }
     }, this);
   }.observes('[email protected]')

http://git-wip-us.apache.org/repos/asf/ambari/blob/a1b19ea2/ambari-web/test/mappers/stack_mapper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mappers/stack_mapper_test.js 
b/ambari-web/test/mappers/stack_mapper_test.js
index 0e09179..d67098c 100644
--- a/ambari-web/test/mappers/stack_mapper_test.js
+++ b/ambari-web/test/mappers/stack_mapper_test.js
@@ -284,6 +284,7 @@ describe('App.stackMapper', function () {
     it ('should map Repository data', function() {
       App.stackMapper.map(test_data);
       expect(App.Repository.find().get('length')).to.equal(8);
+      
expect(App.Repository.find().mapProperty('id')).to.eql(["HDP-2.1-redhat5-HDP-2.1",
 "HDP-2.1-redhat5-HDP-UTILS-1.1.0.17", "HDP-2.1-redhat6-HDP-2.1", 
"HDP-2.1-redhat6-HDP-UTILS-1.1.0.17", "HDP-1.3-redhat5-HDP-1.3", 
"HDP-1.3-redhat5-HDP-UTILS-1.1.0.16", "HDP-1.3-redhat6-HDP-1.3", 
"HDP-1.3-redhat6-HDP-UTILS-1.1.0.16"]);
     });
   });
 });

Reply via email to