You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2015/03/27 20:52:09 UTC

[5/5] ambari git commit: AMBARI-10250. Views: Property validation not fully works during editing (alexantonenko)

AMBARI-10250. Views: Property validation not fully works during editing (alexantonenko)


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

Branch: refs/heads/trunk
Commit: 59c248521169e9752596eb78e76f52a411567b7a
Parents: 6ef5786
Author: Alex Antonenko <hi...@gmail.com>
Authored: Fri Mar 27 19:33:46 2015 +0200
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Fri Mar 27 21:51:59 2015 +0200

----------------------------------------------------------------------
 .../controllers/ambariViews/ViewsEditCtrl.js       | 17 ++++++++++-------
 .../ui/admin-web/app/views/ambariViews/create.html |  2 +-
 .../ui/admin-web/app/views/ambariViews/edit.html   |  4 ++--
 3 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/59c24852/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
index 8e720a6..cbf3b0c 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
@@ -77,7 +77,7 @@ angular.module('ambariAdminConsole')
   }
 
   $scope.permissions = [];
-  
+
   reloadViewPrivileges();
 
   $scope.editSettingsDisabled = true;
@@ -118,7 +118,7 @@ angular.module('ambariAdminConsole')
     $scope.settingsForm.$setPristine();
   };
 
-  
+
   $scope.editConfigurationDisabled = true;
   $scope.togglePropertiesEditing = function () {
     $scope.editConfigurationDisabled = !$scope.editConfigurationDisabled;
@@ -132,7 +132,7 @@ angular.module('ambariAdminConsole')
     }
   };
   $scope.saveConfiguration = function() {
-    if( $scope.propertiesForm.$valid ){
+
       return View.updateInstance($routeParams.viewId, $routeParams.version, $routeParams.instanceId, {
         'ViewInstanceInfo':{
           'properties': $scope.configuration
@@ -143,7 +143,11 @@ angular.module('ambariAdminConsole')
         $scope.propertiesForm.$setPristine();
       })
       .catch(function(data) {
-        var errorMessage = data.statusText;
+        var errorMessage = data.data.message;
+
+        //TODO: maybe the BackEnd should sanitize the string beforehand?
+        errorMessage = errorMessage.substr(errorMessage.indexOf("\{"));
+
         if (data.status >= 400) {
           try {
             var errorObject = JSON.parse(errorMessage);
@@ -160,8 +164,7 @@ angular.module('ambariAdminConsole')
         }
         Alert.error('Cannot save properties', errorMessage);
       });
-    }
-  };
+    };
   $scope.cancelConfiguration = function() {
     $scope.configuration = angular.copy($scope.configurationBeforeEdit);
     $scope.editConfigurationDisabled = true;
@@ -198,7 +201,7 @@ angular.module('ambariAdminConsole')
     if(newValue){
       $scope.savePermissions();
     }
-  }, true);  
+  }, true);
 
   $scope.deleteInstance = function(instance) {
     ConfirmationModal.show('Delete View Instance', 'Are you sure you want to delete View Instance '+ instance.ViewInstanceInfo.label +'?').then(function() {

http://git-wip-us.apache.org/repos/asf/ambari/blob/59c24852/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
index 4d0b87a..772abae 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html
@@ -109,7 +109,7 @@
             <input type="checkbox" class="viewproperty-input" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value" popover="{{parameter.description}}" popover-title="{{parameter.name}}" popover-trigger="mouseenter">
           </div>
           <div class="col-sm-9" ng-switch-default>
-            <input type="{{parameter.masked ? 'password' : 'text'}}" class="form-control viewproperty-input" name="{{parameter.name}}" ng-required="parameter.required" ng-model="parameter.value" autocomplete="off" popover="{{parameter.description}}" popover-title="{{parameter.name}}" popover-trigger="mouseenter" placeholder="{{parameter.placeholder}}">
+            <input type="{{parameter.masked ? 'password' : 'text'}}" class="form-control viewproperty-input" name="{{parameter.name}}" ng-change="form.instanceCreateForm[parameter.name].validationError=''" ng-required="parameter.required" ng-model="parameter.value" autocomplete="off" popover="{{parameter.description}}" popover-title="{{parameter.name}}" popover-trigger="mouseenter" placeholder="{{parameter.placeholder}}">
             <div class="alert alert-danger no-margin-bottom top-margin" ng-show='form.instanceCreateForm[parameter.name].$error.required && form.instanceCreateForm.submitted'>
               This field is required.
             </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/59c24852/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
index bf14adf..910b2ad 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html
@@ -95,7 +95,7 @@
     <h3 class="panel-title pull-left">Permissions</h3>
   </div>
   <div class="panel-body">
-    
+
 
     <table class="table" ng-show="!isPermissionsEmpty">
       <thead>
@@ -143,7 +143,7 @@
               <input type="checkbox" class="propertie-input" ng-disabled="editConfigurationDisabled" name="{{property.name}}" ng-model="configuration[property.name]" ng-true-value="true" ng-false-value="false" popover="{{property.description}}" popover-title="{{property.name}}" popover-trigger="mouseenter">
             </div>
             <div class="col-sm-9" ng-switch-default>
-              <input type="{{property.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-required="property.required"  ng-disabled="editConfigurationDisabled" name="{{property.name}}" ng-model="configuration[property.name]" popover="{{property.description}}" popover-title="{{property.name}}" popover-trigger="mouseenter" placeholder="{{property.placeholder}}">
+              <input type="{{property.masked ? 'password' : 'text'}}" class="form-control propertie-input" ng-required="property.required" ng-change="propertiesForm[property.name].validationError=''" ng-disabled="editConfigurationDisabled" name="{{property.name}}" ng-model="configuration[property.name]" popover="{{property.description}}" popover-title="{{property.name}}" popover-trigger="mouseenter" placeholder="{{property.placeholder}}">
               <div class="alert alert-danger no-margin-bottom top-margin" ng-show='property.required && propertiesForm[property.name].$error.required && !editConfigurationDisabled'>
                 This field is required.
               </div>