From 5138d2d7772ec1e41faa39d12fa94bf98a4dd667 Mon Sep 17 00:00:00 2001 From: simonbrandhof Date: Fri, 5 Nov 2010 14:12:34 +0000 Subject: [PATCH] fix edition of dashboard properties --- .../app/controllers/dashboard_controller.rb | 2 +- .../dashboard/_configure_widget.html.erb | 109 +++++++----------- .../dashboard/_widget_properties.html.erb | 33 ++++++ 3 files changed, 76 insertions(+), 68 deletions(-) create mode 100644 sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_properties.html.erb diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb index 289bb1b7138..16ce6551bac 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb @@ -135,7 +135,7 @@ class DashboardController < ApplicationController widget.configured=false widget.save render :update do |page| - page.alert('errors ' + errors_by_property_key.inspect) + page.replace_html "widget_props_#{widget.id}", :partial => 'dashboard/widget_properties', :locals => {:widget => widget, :definition => definition, :errors_by_property_key => errors_by_property_key} end end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_configure_widget.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_configure_widget.html.erb index 86472f3de6b..0a26417284d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_configure_widget.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_configure_widget.html.erb @@ -1,73 +1,48 @@ -<% - begin - widget_body=render :inline => definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard => @dashboard} - rescue => error - logger.error("Can not render widget #{definition.getId()}: " + error) - logger.error(error.backtrace.join("\n")) - widget_body="" - end -%> + <% + begin + widget_body=render :inline => definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard => @dashboard} + rescue => error + logger.error("Can not render widget #{definition.getId()}: " + error) + logger.error(error.backtrace.join("\n")) + widget_body="" + end + %> -
- <%= definition.getTitle() -%> - Delete - <% if definition.isEditable() %> - Edit - <% end %> -
+
+ <%= definition.getTitle() -%> + Delete + <% if definition.isEditable() %> + Edit + <% end %> +
-
- <% form_remote_tag :url => {:action => 'save_widget', :wid => widget.id, :id => params[:id]}, :method => :post do -%> - - - <% definition.getWidgetProperties().each do |property_def| - value=widget.property_value(property_def.key(), property_def.defaultValue()) - %> - - - - - <% end %> - - - - -
<%= property_def.key() -%><%= "*" unless property_def.optional()==true -%>: - <%= property_value_field(property_def, value) -%> - <%= property_def.description() -%> -
- <%= submit_tag 'Save' %> - <% if widget.configured %> - Cancel - <% end %> -
- <%= hidden_field_tag "widgetid", "", :class => "widgetid" %> -<% end -%> -
+
+ <%= render :partial => 'dashboard/widget_properties', :locals => {:widget => widget, :definition => definition} -%> +
-
- -
- <% if widget_body.include? '<' %> - <% - default_layout=(definition.getWidgetLayout().name()=='DEFAULT') - if default_layout - %> -
- <% end %> - <%= widget_body -%> - <% if default_layout %>
<% end %> - <% else %> -

No data

- <% end %> -
-
+
+ +
+ <% if widget_body.include? '<' %> + <% + default_layout=(definition.getWidgetLayout().name()=='DEFAULT') + if default_layout + %> +
+ <% end %> + <%= widget_body -%> + <% if default_layout %>
<% end %> + <% else %> +

No data

+ <% end %> +
+
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_properties.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_properties.html.erb new file mode 100644 index 00000000000..a1a5d8ae52a --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_properties.html.erb @@ -0,0 +1,33 @@ +<% form_remote_tag :url => {:action => 'save_widget', :wid => widget.id, :id => params[:id]}, :method => :post do -%> + <% if defined?(errors_by_property_key) && errors_by_property_key %> + + <% end %> + <% end %> + + + <% definition.getWidgetProperties().each do |property_def| + value=widget.property_value(property_def.key(), property_def.defaultValue()) + %> + + + + + <% end %> + + + + +
<%= property_def.key() -%><%= "*" unless property_def.optional()==true -%>: + <%= property_value_field(property_def, value) -%> + <%= property_def.description() -%> +
+ <%= submit_tag 'Save' %> + <% if widget.configured %> + Cancel + <% end %> +
+ <%= hidden_field_tag "widgetid", "", :class => "widgetid" %> +<% end -%> \ No newline at end of file -- 2.39.5