diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
index bc0e5e2..1f54390 100644
--- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
+++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
@@ -76,21 +76,50 @@ class MezuroPluginProfileController < ProfileController
Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
end
+
def new_range
@metric_name = params[:metric_name]
@configuration_name = params[:configuration_name]
+ @range_beginning = params[:range_beginning]
+
+ if(@range_beginning != nil) then
+
+ metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
+ metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name)
+
+ metric_configuration.ranges.each do |r|
+ @range = r if r.beginning == @range_beginning.to_f
+ end
+ end
end
def create_range
@range = new_range_instance
configuration_name = params[:configuration_name]
metric_name = params[:metric_name]
+ beginning_id = params[:beginning_id]
metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
- metric_configuration.add_range(@range)
- metric_configuration_client.save(metric_configuration, configuration_name)
+
+ if( beginning_id == "") then #When nothing is passed as beginning_id, this range is new
+ metric_configuration.add_range(@range)
+ metric_configuration_client.save(metric_configuration, configuration_name)
+ else #else, this is a range to edit
+ #First search range
+ index = 0
+ metric_configuration.ranges.each do |r|
+ break if r.beginning == beginning_id.to_f
+ index = index + 1
+ end
+ #Then edit and save
+ metric_configuration.ranges[index] = new_range_instance
+ Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name)
+ end
end
+=begin
+ this commented lines and views/mezuro_plugin_profile/edit_range.html.erb should be removed
+
def edit_range
@configuration_name = params[:configuration_name]
@metric_name = params[:metric_name]
@@ -115,11 +144,13 @@ class MezuroPluginProfileController < ProfileController
break if r.beginning == range_beginning.to_f
index = index + 1
end
+ #Here index points to the right range in metric_configuration.ranges[]
metric_configuration.ranges[index] = new_range_instance
Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
end
-
+=end
+
def remove_metric_configuration
configuration_name = params[:configuration_name]
metric_name = params[:metric_name]
diff --git a/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb
index de1f71d..ed8f2ed 100644
--- a/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb
+++ b/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb
@@ -1,6 +1,7 @@
<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
<%= hidden_field_tag :configuration_name, configuration_name %>
<%= hidden_field_tag :metric_name, metric_name %>
+ <%= hidden_field_tag :beginning_id, range_beginning %>
diff --git a/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
index b622a8d..cc5c099 100644
--- a/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
+++ b/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
@@ -12,6 +12,7 @@
<%=range.grade%>
|
|
- <%= link_to "Edit", :controller => "mezuro_plugin_profile", :action => "edit_range", :params =>
- {:configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %> |
+
+ <%= 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} %> |
diff --git a/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb
index b39c8b8..1c7f47b 100644
--- a/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb
+++ b/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb
@@ -2,6 +2,7 @@
<%= hidden_field_tag :configuration_name, @configuration_name %>
<%= hidden_field_tag :metric_name, @metric_name %>
<%= hidden_field_tag :beginning_id, @range_beginning %>
+
diff --git a/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs b/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs
index 22cee93..bcdda62 100644
--- a/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs
+++ b/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs
@@ -1,2 +1,2 @@
-page.replace_html 'new_range', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name}
+page.replace_html 'new_range', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :range_beginning => @range_beginning}
page.visual_effect :toggle_slide, "new_range"
--
libgit2 0.21.2 |