Commit 30091317cbacc0a115ec0f77dcb56fcaf6df2dd8

Authored by Alessandro Palmeira + Caio C. Salgado
Committed by Paulo Meireles
1 parent fbc6eb37

[Mezuro] Creating and editing ranges works with old nomenclature

plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
@@ -76,21 +76,50 @@ class MezuroPluginProfileController < ProfileController @@ -76,21 +76,50 @@ class MezuroPluginProfileController < ProfileController
76 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) 76 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
77 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" 77 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
78 end 78 end
  79 +
79 def new_range 80 def new_range
80 @metric_name = params[:metric_name] 81 @metric_name = params[:metric_name]
81 @configuration_name = params[:configuration_name] 82 @configuration_name = params[:configuration_name]
  83 + @range_beginning = params[:range_beginning]
  84 +
  85 + if(@range_beginning != nil) then
  86 +
  87 + metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
  88 + metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name)
  89 +
  90 + metric_configuration.ranges.each do |r|
  91 + @range = r if r.beginning == @range_beginning.to_f
  92 + end
  93 + end
82 end 94 end
83 95
84 def create_range 96 def create_range
85 @range = new_range_instance 97 @range = new_range_instance
86 configuration_name = params[:configuration_name] 98 configuration_name = params[:configuration_name]
87 metric_name = params[:metric_name] 99 metric_name = params[:metric_name]
  100 + beginning_id = params[:beginning_id]
88 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new 101 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
89 metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) 102 metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
90 - metric_configuration.add_range(@range)  
91 - metric_configuration_client.save(metric_configuration, configuration_name) 103 +
  104 + if( beginning_id == "") then #When nothing is passed as beginning_id, this range is new
  105 + metric_configuration.add_range(@range)
  106 + metric_configuration_client.save(metric_configuration, configuration_name)
  107 + else #else, this is a range to edit
  108 + #First search range
  109 + index = 0
  110 + metric_configuration.ranges.each do |r|
  111 + break if r.beginning == beginning_id.to_f
  112 + index = index + 1
  113 + end
  114 + #Then edit and save
  115 + metric_configuration.ranges[index] = new_range_instance
  116 + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name)
  117 + end
92 end 118 end
93 119
  120 +=begin
  121 + this commented lines and views/mezuro_plugin_profile/edit_range.html.erb should be removed
  122 +
94 def edit_range 123 def edit_range
95 @configuration_name = params[:configuration_name] 124 @configuration_name = params[:configuration_name]
96 @metric_name = params[:metric_name] 125 @metric_name = params[:metric_name]
@@ -115,11 +144,13 @@ class MezuroPluginProfileController < ProfileController @@ -115,11 +144,13 @@ class MezuroPluginProfileController < ProfileController
115 break if r.beginning == range_beginning.to_f 144 break if r.beginning == range_beginning.to_f
116 index = index + 1 145 index = index + 1
117 end 146 end
  147 + #Here index points to the right range in metric_configuration.ranges[]
118 metric_configuration.ranges[index] = new_range_instance 148 metric_configuration.ranges[index] = new_range_instance
119 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name) 149 Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
120 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}" 150 redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
121 end 151 end
122 - 152 +=end
  153 +
123 def remove_metric_configuration 154 def remove_metric_configuration
124 configuration_name = params[:configuration_name] 155 configuration_name = params[:configuration_name]
125 metric_name = params[:metric_name] 156 metric_name = params[:metric_name]
plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb
1 <% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> 1 <% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
2 <%= hidden_field_tag :configuration_name, configuration_name %> 2 <%= hidden_field_tag :configuration_name, configuration_name %>
3 <%= hidden_field_tag :metric_name, metric_name %> 3 <%= hidden_field_tag :metric_name, metric_name %>
  4 + <%= hidden_field_tag :beginning_id, range_beginning %>
4 <table> 5 <table>
5 <tr> 6 <tr>
6 <td> 7 <td>
plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
@@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
12 <%=range.grade%> 12 <%=range.grade%>
13 </td> 13 </td>
14 <td bgcolor="#<%= range.color[2..-1] %>"></td> 14 <td bgcolor="#<%= range.color[2..-1] %>"></td>
15 - <td><%= link_to "Edit", :controller => "mezuro_plugin_profile", :action => "edit_range", :params =>  
16 - {:configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %></td> 15 + <!-- <td><%= link_to "Edit", :controller => "mezuro_plugin_profile", :action => "edit_range", :params =>
  16 + {:configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %></td> -->
  17 + <td><%= link_to_remote "Edit", :url => {:action =>"new_range", :controller => "mezuro_plugin_profile", :configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %></td>
17 </tr> 18 </tr>
plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 <%= hidden_field_tag :configuration_name, @configuration_name %> 2 <%= hidden_field_tag :configuration_name, @configuration_name %>
3 <%= hidden_field_tag :metric_name, @metric_name %> 3 <%= hidden_field_tag :metric_name, @metric_name %>
4 <%= hidden_field_tag :beginning_id, @range_beginning %> 4 <%= hidden_field_tag :beginning_id, @range_beginning %>
  5 + <!-- beginning_id and range_beginning occurs because the field may be changed and we still need and identificator to the desired range -->
5 <table> 6 <table>
6 <tr> 7 <tr>
7 <td> 8 <td>
plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs
1 -page.replace_html 'new_range', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name} 1 +page.replace_html 'new_range', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :range_beginning => @range_beginning}
2 page.visual_effect :toggle_slide, "new_range" 2 page.visual_effect :toggle_slide, "new_range"