diff --git a/plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb b/plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb index a07b095..255b89c 100644 --- a/plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb +++ b/plugins/mezuro/controllers/myprofile/mezuro_plugin_range_controller.rb @@ -5,6 +5,7 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController def new_range @content_id = params[:id] @metric_configuration_id = params[:metric_configuration_id] + @reading_labels_and_ids = reading_labels_and_ids end def edit_range @@ -42,4 +43,11 @@ class MezuroPluginRangeController < MezuroPluginMyprofileController end end + private + + def reading_labels_and_ids + array = Kalibro::Reading.readings_of(params[:reading_group_id]).map { |reading| [reading.label, reading.id] } + array.sort { |x,y| x.first.downcase <=> y.first.downcase } + end + end diff --git a/plugins/mezuro/lib/kalibro/range.rb b/plugins/mezuro/lib/kalibro/range.rb index 75804d2..6d5fdaf 100644 --- a/plugins/mezuro/lib/kalibro/range.rb +++ b/plugins/mezuro/lib/kalibro/range.rb @@ -2,6 +2,10 @@ class Kalibro::Range < Kalibro::Model attr_accessor :id, :beginning, :end, :reading_id, :comments + def id=(value) + @id = value.to_i + end + def beginning=(value) @beginning = value.to_f @beginning = -1.0/0.0 if value == "-INF" diff --git a/plugins/mezuro/public/javascripts/validations.js b/plugins/mezuro/public/javascripts/validations.js index d73165e..c298a8a 100644 --- a/plugins/mezuro/public/javascripts/validations.js +++ b/plugins/mezuro/public/javascripts/validations.js @@ -40,18 +40,15 @@ function IsNotInfinite(value){ } function validate_new_range_configuration(event){ - var label = jQuery("#range_label").val(); var beginning = jQuery("#range_beginning").val(); var end = jQuery("#range_end").val(); - var color = jQuery("#range_color").val(); - var grade = jQuery("#range_grade").val(); - if (is_null(label) || is_null(beginning) || is_null(end) || is_null(color) || is_null(grade)) + if (is_null(beginning) || is_null(end)) { alert("Please fill all fields marked with (*)."); return false; } - if ( (IsNotNumeric(beginning) && IsNotInfinite(beginning)) || (IsNotNumeric(end) && IsNotInfinite(end)) || IsNotNumeric(grade)) + if ( (IsNotNumeric(beginning) && IsNotInfinite(beginning)) || (IsNotNumeric(end) && IsNotInfinite(end))) { alert("Beginning, End and Grade must be numeric values."); return false; diff --git a/plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb b/plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb index afe117e..8cd04e0 100644 --- a/plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_metric_configuration/edit_native.html.erb @@ -42,7 +42,7 @@
<% if owner %> - <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_range", :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id} %> + <%= 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} %> <% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_range/_range.html.erb b/plugins/mezuro/views/mezuro_plugin_range/_range.html.erb index 3152eea..e1fe7d1 100644 --- a/plugins/mezuro/views/mezuro_plugin_range/_range.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_range/_range.html.erb @@ -13,9 +13,9 @@ <% if (not user.nil?) && user.id == @profile.id %> - <%= link_to_remote "Edit", :url => {:action =>"edit_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_name => params[:metric_name], :beginning_id => range.beginning} %> + <%= 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} %> - <%= link_to "Remove", :action =>"remove_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_name => params[:metric_name], :beginning_id => range.beginning %> + <%= link_to "Remove", :action =>"remove_range", :controller => "mezuro_plugin_range", :id => params[:id], :metric_configuration_id => params[:metric_configuration_id], :range_id => range.id %> <% else %> diff --git a/plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb b/plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb index df22651..ae44303 100644 --- a/plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_range/_range_form.html.erb @@ -3,13 +3,15 @@ <%= f.hidden_field :id %> + <%= required labelled_form_field _('Label'), + f.select(:reading_id, @reading_labels_and_ids) %>
@@ -17,24 +19,17 @@ <%= f.label :end, "(*) End:" %> - - - -
<%= f.label :beginning, "(*) Beginning:" %> - <%= f.text_field :beginning, :id => "range_beginning" %> <%= link_to('-∞', 'javascript:void(0)', :onClick => "jQuery( '#range_beginning' ).val('-INF');") %> + <%= required f.text_field :beginning, :id => "range_beginning" %> <%= link_to('-∞', 'javascript:void(0)', :onClick => "jQuery( '#range_beginning' ).val('-INF');") %>
- <%= f.text_field(:end, :id => "range_end") %> <%= link_to('+∞', 'javascript:void(0)', :onClick => "jQuery( '#range_end' ).val('+INF');") %> + <%= required f.text_field(:end, :id => "range_end") %> <%= link_to('+∞', 'javascript:void(0)', :onClick => "jQuery( '#range_end' ).val('+INF');") %>
- <%= f.label :grade, "(*) Grade:" %> + <%= f.label :comments, "(*) Comments:" %> - <%= f.text_field :grade %> -
- <%= f.label :comments, "Comments:" %> - - <%= f.text_area :comments, :rows => 3 %> + <%= required f.text_area :comments, :rows => 3 %>
+
<%= f.submit "Save Range" %> -- libgit2 0.21.2