Commit 29939fc2821140392c22717cb51c2adb09933866
Committed by
Paulo Meireles
1 parent
34a1e40f
Exists in
master
and in
22 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,6 +33,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle | ||
33 | @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) | 33 | @metric_configuration = find_metric_configuration(metric_configurations, params[:metric_configuration_id].to_i) |
34 | @metric = @metric_configuration.metric | 34 | @metric = @metric_configuration.metric |
35 | @reading_group_names_and_ids = reading_group_names_and_ids | 35 | @reading_group_names_and_ids = reading_group_names_and_ids |
36 | + @ranges = Kalibro::Range.ranges_of(@metric_configuration.id) | ||
36 | end | 37 | end |
37 | =begin | 38 | =begin |
38 | def new_compound_metric_configuration | 39 | def new_compound_metric_configuration |
plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb
@@ -4,62 +4,41 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController | @@ -4,62 +4,41 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController | ||
4 | 4 | ||
5 | def new_range | 5 | def new_range |
6 | @content_id = params[:id] | 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 | end | 8 | end |
11 | 9 | ||
12 | def edit_range | 10 | def edit_range |
13 | - @beginning_id = params[:beginning_id] | 11 | + @range = Kalibro::Range.new(params[:range]) |
14 | @content_id = params[:id] | 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 | end | 14 | end |
21 | 15 | ||
22 | def create_range | 16 | def create_range |
23 | - @configuration_content = profile.articles.find(params[:id]) | 17 | + metric_configuration_id = params[:metric_configuration_id].to_i |
24 | @range = Kalibro::Range.new params[:range] | 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 | @error = metric_configuration.errors[0].message | 21 | @error = metric_configuration.errors[0].message |
31 | end | 22 | end |
32 | end | 23 | end |
33 | 24 | ||
34 | def update_range | 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 | @error = metric_configuration.errors[0].message | 30 | @error = metric_configuration.errors[0].message |
44 | end | 31 | end |
45 | end | 32 | end |
46 | 33 | ||
47 | def remove_range | 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 | else | 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 | end | 42 | end |
64 | end | 43 | end |
65 | 44 |
plugins/mezuro/lib/kalibro/range.rb
@@ -30,16 +30,23 @@ class Kalibro::Range < Kalibro::Model | @@ -30,16 +30,23 @@ class Kalibro::Range < Kalibro::Model | ||
30 | end | 30 | end |
31 | end | 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 | end | 43 | end |
36 | 44 | ||
37 | - def mezuro_color | ||
38 | - @color.nil? ? "e4ca2d" : @color.gsub(/^ff/, "") | ||
39 | - end | ||
40 | - | ||
41 | def self.ranges_of( metric_configuration_id ) | 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 | end | 50 | end |
44 | 51 | ||
45 | def save( metric_configuration_id ) | 52 | def save( metric_configuration_id ) |
@@ -52,4 +59,12 @@ class Kalibro::Range < Kalibro::Model | @@ -52,4 +59,12 @@ class Kalibro::Range < Kalibro::Model | ||
52 | end | 59 | end |
53 | end | 60 | end |
54 | 61 | ||
62 | + private | ||
63 | + | ||
64 | + def reading | ||
65 | + @reading ||= Kalibro::Reading.find(reading_id) | ||
66 | + @reading | ||
67 | + end | ||
68 | + | ||
55 | end | 69 | end |
70 | + |
plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb
@@ -34,20 +34,15 @@ | @@ -34,20 +34,15 @@ | ||
34 | <td></td> | 34 | <td></td> |
35 | <td></td> | 35 | <td></td> |
36 | </tr> | 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 | </table> | 41 | </table> |
47 | 42 | ||
48 | <br/> | 43 | <br/> |
49 | <% if owner %> | 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 | <% end %> | 46 | <% end %> |
52 | <div id="range_form" style="display:none"></div> | 47 | <div id="range_form" style="display:none"></div> |
53 | 48 |
plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb
1 | <%= hidden_field_tag :id, @content_id %> | 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 | <table> | 6 | <table> |
5 | <tr> | 7 | <tr> |
6 | <td> | 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 | <%= f.label :beginning, "(*) Beginning:" %> | 9 | <%= f.label :beginning, "(*) Beginning:" %> |
16 | </td> | 10 | </td> |
17 | <td> | 11 | <td> |
@@ -36,14 +30,6 @@ | @@ -36,14 +30,6 @@ | ||
36 | </tr> | 30 | </tr> |
37 | <tr> | 31 | <tr> |
38 | <td> | 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 | <%= f.label :comments, "Comments:" %> | 33 | <%= f.label :comments, "Comments:" %> |
48 | </td> | 34 | </td> |
49 | <td> | 35 | <td> |