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,6 +5,7 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController
5 def new_range 5 def new_range
6 @content_id = params[:id] 6 @content_id = params[:id]
7 @metric_configuration_id = params[:metric_configuration_id] 7 @metric_configuration_id = params[:metric_configuration_id]
  8 + @reading_labels_and_ids = reading_labels_and_ids
8 end 9 end
9 10
10 def edit_range 11 def edit_range
@@ -42,4 +43,11 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController @@ -42,4 +43,11 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController
42 end 43 end
43 end 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 end 53 end
plugins/mezuro/lib/kalibro/range.rb
@@ -2,6 +2,10 @@ class Kalibro::Range &lt; Kalibro::Model @@ -2,6 +2,10 @@ class Kalibro::Range &lt; Kalibro::Model
2 2
3 attr_accessor :id, :beginning, :end, :reading_id, :comments 3 attr_accessor :id, :beginning, :end, :reading_id, :comments
4 4
  5 + def id=(value)
  6 + @id = value.to_i
  7 + end
  8 +
5 def beginning=(value) 9 def beginning=(value)
6 @beginning = value.to_f 10 @beginning = value.to_f
7 @beginning = -1.0/0.0 if value == "-INF" 11 @beginning = -1.0/0.0 if value == "-INF"
plugins/mezuro/public/javascripts/validations.js
@@ -40,18 +40,15 @@ function IsNotInfinite(value){ @@ -40,18 +40,15 @@ function IsNotInfinite(value){
40 } 40 }
41 41
42 function validate_new_range_configuration(event){ 42 function validate_new_range_configuration(event){
43 - var label = jQuery("#range_label").val();  
44 var beginning = jQuery("#range_beginning").val(); 43 var beginning = jQuery("#range_beginning").val();
45 var end = jQuery("#range_end").val(); 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 alert("Please fill all fields marked with (*)."); 48 alert("Please fill all fields marked with (*).");
52 return false; 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 alert("Beginning, End and Grade must be numeric values."); 53 alert("Beginning, End and Grade must be numeric values.");
57 return false; 54 return false;
plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 42
43 <br/> 43 <br/>
44 <% if owner %> 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 <% end %> 46 <% end %>
47 <div id="range_form" style="display:none"></div> 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,9 +13,9 @@
13 </td> 13 </td>
14 <td bgcolor="#<%= range.color %>"></td> 14 <td bgcolor="#<%= range.color %>"></td>
15 <% if (not user.nil?) && user.id == @profile.id %> 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 </td> 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 </td> 19 </td>
20 <% else %> 20 <% else %>
21 <td></td> 21 <td></td>
plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb
@@ -3,13 +3,15 @@ @@ -3,13 +3,15 @@
3 3
4 <%= f.hidden_field :id %> 4 <%= f.hidden_field :id %>
5 5
  6 + <%= required labelled_form_field _('Label'),
  7 + f.select(:reading_id, @reading_labels_and_ids) %><br/>
6 <table> 8 <table>
7 <tr> 9 <tr>
8 <td> 10 <td>
9 <%= f.label :beginning, "(*) Beginning:" %> 11 <%= f.label :beginning, "(*) Beginning:" %>
10 </td> 12 </td>
11 <td> 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 </td> 15 </td>
14 </tr> 16 </tr>
15 <tr> 17 <tr>
@@ -17,24 +19,17 @@ @@ -17,24 +19,17 @@
17 <%= f.label :end, "(*) End:" %> 19 <%= f.label :end, "(*) End:" %>
18 </td> 20 </td>
19 <td> 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 </td> 23 </td>
22 </tr> 24 </tr>
23 <tr> 25 <tr>
24 <td> 26 <td>
25 - <%= f.label :grade, "(*) Grade:" %> 27 + <%= f.label :comments, "(*) Comments:" %>
26 </td> 28 </td>
27 <td> 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 </td> 31 </td>
38 </tr> 32 </tr>
39 </table> 33 </table>
  34 +<br/>
40 <%= f.submit "Save Range" %> 35 <%= f.submit "Save Range" %>