diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb index 1f54390..5ca8a15 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb @@ -80,17 +80,16 @@ class MezuroPluginProfileController < ProfileController def new_range @metric_name = params[:metric_name] @configuration_name = params[:configuration_name] - @range_beginning = params[:range_beginning] - - if(@range_beginning != nil) then + end + + def edit_range + @metric_name = params[:metric_name] + @configuration_name = params[:configuration_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.ranges.each do |r| - @range = r if r.beginning == @range_beginning.to_f - end - end + metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new + metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name) + @range = metric_configuration.ranges.find{ |range| range.beginning == @beginning_id.to_f } end def create_range @@ -99,57 +98,38 @@ class MezuroPluginProfileController < ProfileController 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) - - 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 + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) + metric_configuration.add_range(@range) + metric_configuration_client.save(metric_configuration, configuration_name) 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] - @range_beginning = params[:range_beginning] - + def update_range + metric_name = params[:metric_name] + configuration_name = params[:configuration_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.ranges.each do |r| - @range = r if r.beginning == @range_beginning.to_f - end + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) + index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f } + metric_configuration.ranges[index] = new_range_instance + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name) + formatted_configuration_name = configuration_name.gsub(/\s/, '+') + formatted_metric_name = metric_name.gsub(/\s/, '+') + redirect_to "/profile/#{profile.identifier}/plugins/mezuro/edit_metric_configuration?configuration_name=#{formatted_configuration_name}&metric_name=#{formatted_metric_name}" end - def update_range - @configuration_name = params[:configuration_name] + def remove_range + configuration_name = params[:configuration_name] metric_name = params[:metric_name] - range_beginning = params[:beginning_id] + beginning_id = params[:range_beginning] metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new - metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, metric_name) - index = 0 - metric_configuration.ranges.each do |r| - 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/, '-')}" + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name) + metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f }.inspect + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name) + formatted_configuration_name = configuration_name.gsub(/\s/, '+') + formatted_metric_name = metric_name.gsub(/\s/, '+') + #FIXME não está redirecionando + redirect "/profile/#{profile.identifier}/plugins/mezuro/edit_metric_configuration?configuration_name=#{formatted_configuration_name}&metric_name=#{formatted_metric_name}" end -=end def remove_metric_configuration configuration_name = params[:configuration_name] diff --git a/plugins/mezuro/views/mezuro_plugin_profile/_edit_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/_edit_range.html.erb new file mode 100644 index 0000000..4ae3a7b --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_profile/_edit_range.html.erb @@ -0,0 +1,3 @@ +<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> + <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %> +<% end %> 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 ed8f2ed..ec2cb9d 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb @@ -1,56 +1,3 @@ <% 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 %> - - - - - - - - - - - - - - - - - - - - - - - - - -
- <%= f.label :label, "Label:" %> - - <%= f.text_field :label %> -
- <%= f.label :beginning, "Beginning:" %> - - <%= f.text_field :beginning %> -
- <%= f.label :end, "End:" %> - - <%= f.text_field :end %> -
- <%= f.label :grade, "Grade:" %> - - <%= f.text_field :grade %> -
- <%= f.label :color, "Color:" %> - - <%= f.text_field :color %> -
- <%= f.label :comments, "Comments:" %> - - <%= f.text_field :comments %> -
- <%= f.submit "Save Range" %> + <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %> <% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb index cc5c099..6f7ba84 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb @@ -12,7 +12,6 @@ <%=range.grade%> - - <%= 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} %> + <%= link_to_remote "Edit", :url => {:action =>"edit_range", :controller => "mezuro_plugin_profile", :configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :beginning_id => range.beginning} %> + <%= link_to "Remove", :action =>"remove_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/_range_form.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/_range_form.html.erb new file mode 100644 index 0000000..aeb0bb9 --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_profile/_range_form.html.erb @@ -0,0 +1,54 @@ +<%= hidden_field_tag :configuration_name, configuration_name %> +<%= hidden_field_tag :metric_name, metric_name %> +<%= hidden_field_tag :beginning_id, beginning_id %> + + + + + + + + + + + + + + + + + + + + + + + + + +
+ <%= f.label :label, "Label:" %> + + <%= f.text_field :label %> +
+ <%= f.label :beginning, "Beginning:" %> + + <%= f.text_field :beginning %> +
+ <%= f.label :end, "End:" %> + + <%= f.text_field :end %> +
+ <%= f.label :grade, "Grade:" %> + + <%= f.text_field :grade %> +
+ <%= f.label :color, "Color:" %> + + <%= f.text_field :color %> +
+ <%= f.label :comments, "Comments:" %> + + <%= f.text_field :comments %> +
+<%= f.submit "Save Range" %> diff --git a/plugins/mezuro/views/mezuro_plugin_profile/create_range.rjs b/plugins/mezuro/views/mezuro_plugin_profile/create_range.rjs index ef31d1d..f0cf9ee 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/create_range.rjs +++ b/plugins/mezuro/views/mezuro_plugin_profile/create_range.rjs @@ -1,2 +1,2 @@ -page.visual_effect :toggle_slide, "new_range" +page.visual_effect :toggle_slide, "range_form" page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range} diff --git a/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb index 12667f8..2159e7a 100644 --- a/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb @@ -74,5 +74,5 @@
<%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_profile", :configuration_name => @configuration_name, :metric_name => @metric.name} %> - + diff --git a/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb deleted file mode 100644 index 1c7f47b..0000000 --- a/plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb +++ /dev/null @@ -1,57 +0,0 @@ -<% remote_form_for :range, :url => {:action =>"update_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 %> - - - - - - - - - - - - - - - - - - - - - - - - - - -
- <%= f.label :label, "Label:" %> - - <%= f.text_field :label %> -
- <%= f.label :beginning, "Beginning:" %> - - <%= f.text_field :beginning %> -
- <%= f.label :end, "End:" %> - - <%= f.text_field :end %> -
- <%= f.label :grade, "Grade:" %> - - <%= f.text_field :grade %> -
- <%= f.label :color, "Color:" %> - - <%= f.text_field :color %> -
- <%= f.label :comments, "Comments:" %> - - <%= f.text_field :comments %> -
- <%= f.submit "Save Range" %> -<% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_profile/edit_range.rjs b/plugins/mezuro/views/mezuro_plugin_profile/edit_range.rjs new file mode 100644 index 0000000..144b018 --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_profile/edit_range.rjs @@ -0,0 +1,2 @@ +page.replace_html 'range_form', :partial => "edit_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => @beginning_id, :range => @range } +page.visual_effect :slide_down, "range_form" diff --git a/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs b/plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs index bcdda62..cd28b9e 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, :range_beginning => @range_beginning} -page.visual_effect :toggle_slide, "new_range" +page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name } +page.visual_effect :slide_down, "range_form" diff --git a/plugins/mezuro/views/mezuro_plugin_profile/update_range.html.erb b/plugins/mezuro/views/mezuro_plugin_profile/update_range.html.erb deleted file mode 100644 index 8c0e501..0000000 --- a/plugins/mezuro/views/mezuro_plugin_profile/update_range.html.erb +++ /dev/null @@ -1 +0,0 @@ -

Update Range Action

diff --git a/plugins/mezuro/views/mezuro_plugin_profile/update_range.rjs b/plugins/mezuro/views/mezuro_plugin_profile/update_range.rjs new file mode 100644 index 0000000..f0cf9ee --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_profile/update_range.rjs @@ -0,0 +1,2 @@ +page.visual_effect :toggle_slide, "range_form" +page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range} -- libgit2 0.21.2