]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3754 Restore property validation
authorDavid Gageot <david@gageot.net>
Fri, 21 Sep 2012 08:36:32 +0000 (10:36 +0200)
committerDavid Gageot <david@gageot.net>
Fri, 21 Sep 2012 08:36:52 +0000 (10:36 +0200)
sonar-server/src/main/webapp/WEB-INF/app/controllers/settings_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/views/settings/_properties.html.erb

index 50282117749c98fe229cb53f471539236b5fb000..69206f8d16ac252b881e4f85d7e1b0c99e6a6aa2 100644 (file)
@@ -39,13 +39,14 @@ class SettingsController < ApplicationController
 
     load_properties()
 
+    @updated_properties = {}
     @definitions.map(&:key).each do |key|
       value = params[key]
 
       if value.blank?
         Property.clear(key, resource_id)
       else
-        Property.set(key, value, resource_id)
+        @updated_properties[key] = Property.set(key, value, resource_id)
       end
     end
 
index 7719dc2d20961646c52d2d72e1369604051c5d78..cb3ee1a3b318c744f409a1d2e8f63961b792cf83 100644 (file)
               </div>
               <button class="add_value"><%= message('settings.add') -%></button>
               <br/>
-          <% else -%>
+            <% else -%>
               <%= render "settings/type_#{property_type(property, value)}", :property => property, :value => value -%>
             <% end -%>
 
+            <% p = @updated_properties[property.key] if @updated_properties -%>
+            <% if p && !p.valid? -%>
+              <div class="error"><%= p.validation_error_message -%></div>
+            <% end -%>
+
             <% default_prop_value = (@resource ? Property.value(property.key, nil, property.defaultValue) : property.defaultValue) -%>
             <% unless default_prop_value.blank? -%>
               <div class="note">Default: <%= property.type.to_s=='PASSWORD' ? '********' : h(default_prop_value) -%></div>