Commit a7daad1b937695391d8d3b59aa63f02081cde7de

Authored by João M. M. da Silva
Committed by Paulo Meireles
1 parent d3ce2cae

[Mezuro] creating new ranges in metric configuration edition view.

plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb
... ... @@ -5,6 +5,7 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController
5 5 def new_range
6 6 @content_id = params[:id]
7 7 @metric_configuration_id = params[:metric_configuration_id]
  8 + @reading_labels_and_ids = reading_labels_and_ids
8 9 end
9 10  
10 11 def edit_range
... ... @@ -42,4 +43,11 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController
42 43 end
43 44 end
44 45  
  46 + private
  47 +
  48 + def reading_labels_and_ids
  49 + array = Kalibro::Reading.readings_of(params[:reading_group_id]).map { |reading| [reading.label, reading.id] }
  50 + array.sort { |x,y| x.first.downcase <=> y.first.downcase }
  51 + end
  52 +
45 53 end
... ...
plugins/mezuro/lib/kalibro/range.rb
... ... @@ -2,6 +2,10 @@ class Kalibro::Range &lt; Kalibro::Model
2 2  
3 3 attr_accessor :id, :beginning, :end, :reading_id, :comments
4 4  
  5 + def id=(value)
  6 + @id = value.to_i
  7 + end
  8 +
5 9 def beginning=(value)
6 10 @beginning = value.to_f
7 11 @beginning = -1.0/0.0 if value == "-INF"
... ...
plugins/mezuro/public/javascripts/validations.js
... ... @@ -40,18 +40,15 @@ function IsNotInfinite(value){
40 40 }
41 41  
42 42 function validate_new_range_configuration(event){
43   - var label = jQuery("#range_label").val();
44 43 var beginning = jQuery("#range_beginning").val();
45 44 var end = jQuery("#range_end").val();
46   - var color = jQuery("#range_color").val();
47   - var grade = jQuery("#range_grade").val();
48 45  
49   - if (is_null(label) || is_null(beginning) || is_null(end) || is_null(color) || is_null(grade))
  46 + if (is_null(beginning) || is_null(end))
50 47 {
51 48 alert("Please fill all fields marked with (*).");
52 49 return false;
53 50 }
54   - if ( (IsNotNumeric(beginning) && IsNotInfinite(beginning)) || (IsNotNumeric(end) && IsNotInfinite(end)) || IsNotNumeric(grade))
  51 + if ( (IsNotNumeric(beginning) && IsNotInfinite(beginning)) || (IsNotNumeric(end) && IsNotInfinite(end)))
55 52 {
56 53 alert("Beginning, End and Grade must be numeric values.");
57 54 return false;
... ...
plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb
... ... @@ -42,7 +42,7 @@
42 42  
43 43 <br/>
44 44 <% if owner %>
45   - <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_range", :id => @configuration_content.id, :metric_configuration_id => @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, :reading_group_id => @metric_configuration.reading_group_id} %>
46 46 <% end %>
47 47 <div id="range_form" style="display:none"></div>
48 48  
... ...
plugins/mezuro/views/mezuro_plugin_range/_range.html.erb
... ... @@ -13,9 +13,9 @@
13 13 </td>
14 14 <td bgcolor="#<%= range.color %>"></td>
15 15 <% if (not user.nil?) && user.id == @profile.id %>
16   - <td><%= link_to_remote "Edit", :url => {:action =>"edit_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_name => params[:metric_name], :beginning_id => range.beginning} %>
  16 + <td><%= link_to_remote "Edit", :url => {:action =>"edit_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_configuration_id => params[:metric_configuration_id], :range_id => range.id} %>
17 17 </td>
18   - <td><%= link_to "Remove", :action =>"remove_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_name => params[:metric_name], :beginning_id => range.beginning %>
  18 + <td><%= link_to "Remove", :action =>"remove_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_configuration_id => params[:metric_configuration_id], :range_id => range.id %>
19 19 </td>
20 20 <% else %>
21 21 <td></td>
... ...
plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb
... ... @@ -3,13 +3,15 @@
3 3  
4 4 <%= f.hidden_field :id %>
5 5  
  6 + <%= required labelled_form_field _('Label'),
  7 + f.select(:reading_id, @reading_labels_and_ids) %><br/>
6 8 <table>
7 9 <tr>
8 10 <td>
9 11 <%= f.label :beginning, "(*) Beginning:" %>
10 12 </td>
11 13 <td>
12   - <%= f.text_field :beginning, :id => "range_beginning" %>&nbsp;<%= link_to('-&#8734', 'javascript:void(0)', :onClick => "jQuery( '#range_beginning' ).val('-INF');") %>
  14 + <%= required f.text_field :beginning, :id => "range_beginning" %>&nbsp;<%= link_to('-&#8734', 'javascript:void(0)', :onClick => "jQuery( '#range_beginning' ).val('-INF');") %>
13 15 </td>
14 16 </tr>
15 17 <tr>
... ... @@ -17,24 +19,17 @@
17 19 <%= f.label :end, "(*) End:" %>
18 20 </td>
19 21 <td>
20   - <%= f.text_field(:end, :id => "range_end") %>&nbsp;<%= link_to('+&#8734', 'javascript:void(0)', :onClick => "jQuery( '#range_end' ).val('+INF');") %>
  22 + <%= required f.text_field(:end, :id => "range_end") %>&nbsp;<%= link_to('+&#8734', 'javascript:void(0)', :onClick => "jQuery( '#range_end' ).val('+INF');") %>
21 23 </td>
22 24 </tr>
23 25 <tr>
24 26 <td>
25   - <%= f.label :grade, "(*) Grade:" %>
  27 + <%= f.label :comments, "(*) Comments:" %>
26 28 </td>
27 29 <td>
28   - <%= f.text_field :grade %>
29   - </td>
30   - </tr>
31   - <tr>
32   - <td>
33   - <%= f.label :comments, "Comments:" %>
34   - </td>
35   - <td>
36   - <%= f.text_area :comments, :rows => 3 %>
  30 + <%= required f.text_area :comments, :rows => 3 %>
37 31 </td>
38 32 </tr>
39 33 </table>
  34 +<br/>
40 35 <%= f.submit "Save Range" %>
... ...