Commit 2fc5a82e00b31035bf56fe31af4fb675a86d26f0

Authored by Diego Camarinha
Committed by Paulo Meireles
1 parent 8bf5768c

[Mezuro] Fixed range edition.

plugins/mezuro/controllers/mezuro_plugin_myprofile_controller.rb
... ... @@ -78,6 +78,7 @@ class MezuroPluginMyprofileController < ProfileController
78 78 def new_range
79 79 @configuration_content = profile.articles.find(params[:id])
80 80 @metric_name = params[:metric_name]
  81 + @range = Kalibro::Range.new
81 82 end
82 83  
83 84 def edit_range
... ... @@ -85,7 +86,7 @@ class MezuroPluginMyprofileController < ProfileController
85 86 @metric_name = params[:metric_name]
86 87 @beginning_id = params[:beginning_id]
87 88 metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, @metric_name)
88   - @range = metric_configuration.ranges.find{|range| range.beginning == @beginning_id.to_f || ( @beginning_id =="-Infinity" && range.beginning == -1.0/0.0) }
  89 + @range = metric_configuration.ranges.find{|range| range.beginning == @beginning_id.to_f || @beginning_id =="-INF" }
89 90 end
90 91  
91 92 def create_range
... ... @@ -102,7 +103,7 @@ class MezuroPluginMyprofileController < ProfileController
102 103 metric_name = params[:metric_name]
103 104 beginning_id = params[:beginning_id]
104 105 metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name)
105   - index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f }
  106 + index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" }
106 107 metric_configuration.ranges[index] = Kalibro::Range.new params[:range]
107 108 metric_configuration.save
108 109 end
... ... @@ -112,7 +113,7 @@ class MezuroPluginMyprofileController < ProfileController
112 113 metric_name = params[:metric_name]
113 114 beginning_id = params[:beginning_id]
114 115 metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name)
115   - metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f }
  116 + metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" }
116 117 metric_configuration.save
117 118 formatted_metric_name = metric_name.gsub(/\s/, '+')
118 119 if metric_configuration.metric.class == Kalibro::CompoundMetric
... ...
plugins/mezuro/lib/kalibro/range.rb
... ... @@ -7,11 +7,29 @@ class Kalibro::Range < Kalibro::Model
7 7 @beginning = -1.0/0.0 if value == "-INF"
8 8 end
9 9  
  10 + def beginning
  11 + if !@beginning.nil?
  12 + case @beginning.to_s
  13 + when "-Infinity": "-INF"
  14 + else @beginning
  15 + end
  16 + end
  17 + end
  18 +
10 19 def end=(value)
11 20 @end = value.to_f
12 21 @end = 1.0/0.0 if value == "INF"
13 22 end
14 23  
  24 + def end
  25 + if !@end.nil?
  26 + case @end.to_s
  27 + when "Infinity": "INF"
  28 + else @end
  29 + end
  30 + end
  31 + end
  32 +
15 33 def grade=(value)
16 34 @grade = value.to_f
17 35 end
... ...
plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb
... ... @@ -14,11 +14,7 @@
14 14 <%= f.label :beginning, "(*) Beginning:" %>
15 15 </td>
16 16 <td>
17   - <% if @range.beginning.to_s == "-Infinity" %>
18   - <%= f.text_field :beginning, :value => "-INF" %>
19   - <% else %>
20   - <%= f.text_field :beginning %>
21   - <% end %>
  17 + <%= f.text_field :beginning, :value => @range.beginning %>
22 18 </td>
23 19 </tr>
24 20 <tr>
... ... @@ -26,11 +22,7 @@
26 22 <%= f.label :end, "(*) End:" %>
27 23 </td>
28 24 <td>
29   - <% if @range.end.to_s == "Infinity" %>
30   - <%= f.text_field :end, :value => "INF" %>
31   - <% else %>
32   - <%= f.text_field :end %>
33   - <% end %>
  25 + <%= f.text_field :end, :value => @range.end %>
34 26 </td>
35 27 </tr>
36 28 <tr>
... ...