Commit 29939fc2821140392c22717cb51c2adb09933866
Committed by
Paulo Meireles
1 parent
34a1e40f
Exists in
master
and in
29 other branches
[Mezuro] Show ranges in metric configuration edition view.
Showing
5 changed files
with
47 additions
and
71 deletions
Show diff stats
plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb
... | ... | @@ -33,6 +33,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle |
33 | 33 | @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) |
34 | 34 | @metric = @metric_configuration.metric |
35 | 35 | @reading_group_names_and_ids = reading_group_names_and_ids |
36 | + @ranges = Kalibro::Range.ranges_of(@metric_configuration.id) | |
36 | 37 | end |
37 | 38 | =begin |
38 | 39 | def new_compound_metric_configuration | ... | ... |
plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb
... | ... | @@ -4,62 +4,41 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController |
4 | 4 | |
5 | 5 | def new_range |
6 | 6 | @content_id = params[:id] |
7 | - @metric_name = params[:metric_name] | |
8 | - @range = Kalibro::Range.new | |
9 | - @range_color = "#000000" | |
7 | + @metric_configuration_id = params[:metric_configuration_id] | |
10 | 8 | end |
11 | 9 | |
12 | 10 | def edit_range |
13 | - @beginning_id = params[:beginning_id] | |
11 | + @range = Kalibro::Range.new(params[:range]) | |
14 | 12 | @content_id = params[:id] |
15 | - configuration_name = profile.articles.find(@content_id).name | |
16 | - @metric_name = params[:metric_name] | |
17 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_name, @metric_name) | |
18 | - @range = metric_configuration.ranges.find{|range| range.beginning == @beginning_id.to_f || @beginning_id =="-INF" } | |
19 | - @range_color = "#" + @range.color.to_s.gsub(/^ff/, "") | |
13 | + @metric_configuration_id = params[:metric_configuration_id] | |
20 | 14 | end |
21 | 15 | |
22 | 16 | def create_range |
23 | - @configuration_content = profile.articles.find(params[:id]) | |
17 | + metric_configuration_id = params[:metric_configuration_id].to_i | |
24 | 18 | @range = Kalibro::Range.new params[:range] |
25 | - metric_name = params[:metric_name] | |
26 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@configuration_content.name, metric_name) | |
27 | - metric_configuration.add_range(@range) | |
28 | - metric_configuration.save | |
29 | - if metric_configuration_has_errors? metric_configuration | |
19 | + @range.save metric_configuration_id | |
20 | + if !@range.errors.empty? | |
30 | 21 | @error = metric_configuration.errors[0].message |
31 | 22 | end |
32 | 23 | end |
33 | 24 | |
34 | 25 | def update_range |
35 | - configuration_content = profile.articles.find(params[:id]) | |
36 | - metric_name = params[:metric_name] | |
37 | - beginning_id = params[:beginning_id] | |
38 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) | |
39 | - index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" } | |
40 | - metric_configuration.ranges[index] = Kalibro::Range.new params[:range] | |
41 | - metric_configuration.save | |
42 | - if metric_configuration_has_errors? metric_configuration | |
26 | + metric_configuration_id = params[:metric_configuration_id].to_i | |
27 | + @range = Kalibro::Range.new params[:range] | |
28 | + @range.save metric_configuration_id | |
29 | + if !@range.errors.empty? | |
43 | 30 | @error = metric_configuration.errors[0].message |
44 | 31 | end |
45 | 32 | end |
46 | 33 | |
47 | 34 | def remove_range |
48 | - configuration_content = profile.articles.find(params[:id]) | |
49 | - metric_name = params[:metric_name] | |
50 | - beginning_id = params[:beginning_id] | |
51 | - metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(configuration_content.name, metric_name) | |
52 | - metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f || beginning_id == "-INF" } | |
53 | - metric_configuration.save | |
54 | - if metric_configuration_has_errors? metric_configuration | |
55 | - redirect_to_error_page metric_configuration.errors[0].message | |
35 | + configuration_content_id = params[:id] | |
36 | + metric_configuration_id = params[:metric_configuration_id] | |
37 | + Kalibro::Range.new(params[:range]).destroy | |
38 | + if metric_configuration.metric.compound | |
39 | + redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_compound_metric_configuration?id=#{configuration_content_id}&metric_configuration_id=#{metric_configuration_id}" | |
56 | 40 | else |
57 | - formatted_metric_name = metric_name.gsub(/\s/, '+') | |
58 | - if metric_configuration.metric.class == Kalibro::CompoundMetric | |
59 | - redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_compound_metric_configuration?id=#{configuration_content.id}&metric_name=#{formatted_metric_name}" | |
60 | - else | |
61 | - redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_metric_configuration?id=#{configuration_content.id}&metric_name=#{formatted_metric_name}" | |
62 | - end | |
41 | + redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_native_metric_configuration?id=#{configuration_content_id}&metric_configuration_id=#{metric_configuration_id}" | |
63 | 42 | end |
64 | 43 | end |
65 | 44 | ... | ... |
plugins/mezuro/lib/kalibro/range.rb
... | ... | @@ -30,16 +30,23 @@ class Kalibro::Range < Kalibro::Model |
30 | 30 | end |
31 | 31 | end |
32 | 32 | |
33 | - def grade=(value) | |
34 | - @grade = value.to_f | |
33 | + def label | |
34 | + reading.label | |
35 | + end | |
36 | + | |
37 | + def grade | |
38 | + reading.grade | |
39 | + end | |
40 | + | |
41 | + def color | |
42 | + reading.color | |
35 | 43 | end |
36 | 44 | |
37 | - def mezuro_color | |
38 | - @color.nil? ? "e4ca2d" : @color.gsub(/^ff/, "") | |
39 | - end | |
40 | - | |
41 | 45 | def self.ranges_of( metric_configuration_id ) |
42 | - request(:ranges_of, {:metric_configuration_id => metric_configuration_id} )[:range].to_a.map { |range| new range } | |
46 | + response = request(:ranges_of, {:metric_configuration_id => metric_configuration_id} )[:range] | |
47 | + response = [] if response.nil? | |
48 | + response = [response] if response.is_a?(Hash) | |
49 | + response.map { |range| new range } | |
43 | 50 | end |
44 | 51 | |
45 | 52 | def save( metric_configuration_id ) |
... | ... | @@ -52,4 +59,12 @@ class Kalibro::Range < Kalibro::Model |
52 | 59 | end |
53 | 60 | end |
54 | 61 | |
62 | + private | |
63 | + | |
64 | + def reading | |
65 | + @reading ||= Kalibro::Reading.find(reading_id) | |
66 | + @reading | |
67 | + end | |
68 | + | |
55 | 69 | end |
70 | + | ... | ... |
plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb
... | ... | @@ -34,20 +34,15 @@ |
34 | 34 | <td></td> |
35 | 35 | <td></td> |
36 | 36 | </tr> |
37 | - <%# if (@metric_configuration.ranges!=nil) | |
38 | - # @metric_configuration.ranges.each do |range| | |
39 | - %> | |
40 | - <%= #render :partial => "mezuro_plugin_range/range", :locals => {:range => range, :id => @configuration_content.id, | |
41 | - # :metric_name => @metric.name} | |
42 | - %> | |
43 | - <% #end | |
44 | - # end | |
45 | - %> | |
37 | + <% @ranges.each do |range| %> | |
38 | + <%= render :partial => "mezuro_plugin_range/range", :locals => {:range => range, :id => @configuration_content.id, | |
39 | + :metric_configuration_id => @metric_configuration.id} %> | |
40 | + <% end %> | |
46 | 41 | </table> |
47 | 42 | |
48 | 43 | <br/> |
49 | 44 | <% if owner %> |
50 | - <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_range", :id => @configuration_content.id, :metric_name => @metric_configuration.id} %> | |
45 | + <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_range", :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id} %> | |
51 | 46 | <% end %> |
52 | 47 | <div id="range_form" style="display:none"></div> |
53 | 48 | ... | ... |
plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb
1 | 1 | <%= hidden_field_tag :id, @content_id %> |
2 | -<%= hidden_field_tag :metric_name, @metric_name %> | |
2 | +<%= hidden_field_tag :metric_configuration_id, @metric_configuration_id %> | |
3 | + | |
4 | +<%= f.hidden_field :id %> | |
3 | 5 | |
4 | 6 | <table> |
5 | 7 | <tr> |
6 | 8 | <td> |
7 | - <%= f.label :label, "(*) Label:" %> | |
8 | - </td> | |
9 | - <td> | |
10 | - <%= f.text_field :label %> | |
11 | - </td> | |
12 | - </tr> | |
13 | - <tr> | |
14 | - <td> | |
15 | 9 | <%= f.label :beginning, "(*) Beginning:" %> |
16 | 10 | </td> |
17 | 11 | <td> |
... | ... | @@ -36,14 +30,6 @@ |
36 | 30 | </tr> |
37 | 31 | <tr> |
38 | 32 | <td> |
39 | - <%= f.label :color, "(*) Color:" %> | |
40 | - </td> | |
41 | - <td> | |
42 | - <%= colorpicker_field(:range, :color, :value => @range.mezuro_color) %>Click in the field to change Color | |
43 | - </td> | |
44 | - </tr> | |
45 | - <tr> | |
46 | - <td> | |
47 | 33 | <%= f.label :comments, "Comments:" %> |
48 | 34 | </td> |
49 | 35 | <td> | ... | ... |