From 2fc5a82e00b31035bf56fe31af4fb675a86d26f0 Mon Sep 17 00:00:00 2001 From: Diego Araújo + João M. M. da Silva Date: Mon, 23 Jul 2012 15:07:24 -0300 Subject: [PATCH] [Mezuro] Fixed range edition. --- plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb | 7 ++++--- plugins/mezuro/lib/kalibro/range.rb | 18 ++++++++++++++++++ plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb | 12 ++---------- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb index 5ea3789..f0e3f66 100644 --- a/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb +++ b/plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb @@ -78,6 +78,7 @@ class MezuroPluginMyprofileController < ProfileController def new_range @configuration_content = profile.articles.find(params[:id]) @metric_name = params[:metric_name] + @range = Kalibro::Range.new end def edit_range @@ -85,7 +86,7 @@ class MezuroPluginMyprofileController < ProfileController @metric_name = params[:metric_name] @beginning_id = params[:beginning_id] metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, @metric_name) - @range = metric_configuration.ranges.find{|range| range.beginning == @beginning_id.to_f || ( @beginning_id =="-Infinity" && range.beginning == -1.0/0.0) } + @range = metric_configuration.ranges.find{|range| range.beginning == @beginning_id.to_f || @beginning_id =="-INF" } end def create_range @@ -102,7 +103,7 @@ class MezuroPluginMyprofileController < ProfileController metric_name = params[:metric_name] beginning_id = params[:beginning_id] metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) - index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f } + index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" } metric_configuration.ranges[index] = Kalibro::Range.new params[:range] metric_configuration.save end @@ -112,7 +113,7 @@ class MezuroPluginMyprofileController < ProfileController metric_name = params[:metric_name] beginning_id = params[:beginning_id] metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) - metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f } + metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" } metric_configuration.save formatted_metric_name = metric_name.gsub(/\s/, '+') if metric_configuration.metric.class == Kalibro::CompoundMetric diff --git a/plugins/mezuro/lib/kalibro/range.rb b/plugins/mezuro/lib/kalibro/range.rb index 64101b2..806713f 100644 --- a/plugins/mezuro/lib/kalibro/range.rb +++ b/plugins/mezuro/lib/kalibro/range.rb @@ -7,11 +7,29 @@ class Kalibro::Range < Kalibro::Model @beginning = -1.0/0.0 if value == "-INF" end + def beginning + if !@beginning.nil? + case @beginning.to_s + when "-Infinity": "-INF" + else @beginning + end + end + end + def end=(value) @end = value.to_f @end = 1.0/0.0 if value == "INF" end + def end + if !@end.nil? + case @end.to_s + when "Infinity": "INF" + else @end + end + end + end + def grade=(value) @grade = value.to_f end diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb index 53ed8e5..270fecd 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb @@ -14,11 +14,7 @@ <%= f.label :beginning, "(*) Beginning:" %> - <% if @range.beginning.to_s == "-Infinity" %> - <%= f.text_field :beginning, :value => "-INF" %> - <% else %> - <%= f.text_field :beginning %> - <% end %> + <%= f.text_field :beginning, :value => @range.beginning %> @@ -26,11 +22,7 @@ <%= f.label :end, "(*) End:" %> - <% if @range.end.to_s == "Infinity" %> - <%= f.text_field :end, :value => "INF" %> - <% else %> - <%= f.text_field :end %> - <% end %> + <%= f.text_field :end, :value => @range.end %> -- libgit2 0.21.2