diff --git a/plugins/mezuro/public/javascripts/validations.js b/plugins/mezuro/public/javascripts/validations.js index 21e4cfc..697cc9b 100644 --- a/plugins/mezuro/public/javascripts/validations.js +++ b/plugins/mezuro/public/javascripts/validations.js @@ -1,8 +1,62 @@ function validate_metric_configuration(){ - var x=document.forms["configuration_form"]["metric_configuration[code]"].value; - if (x==null || x=="") + var code=document.forms["configuration_form"]["metric_configuration[code]"].value; + if (is_null(code)) { alert("Code must be filled out"); return false; } } + +function is_null(value){ + if(value == "" || value == null){ + return true; + } + return false; +} + +function IsNotNumeric(value){ + if(value.match(/[0-9]*\.?[0-9]+/)) + { + return false; + } + return true; +} + +function IsNotHexadecimal(value){ + if(value.match(/[0-9a-fA-F]{1,8}/)) + { + return false; + } + return true; +} + +function validate_new_range_configuration(){ + var label = document.forms["new_range_form"]["range[label]"].value; + var beginning = document.forms["new_range_form"]["range[beginning]"].value; + var end = document.forms["new_range_form"]["range[end]"].value; + var color = document.forms["new_range_form"]["range[color]"].value; + var grade = document.forms["new_range_form"]["range[grade]"].value; + + return false; + + if (is_null(label) || is_null(beginning) || is_null(end) || is_null(color) || is_null(grade)) + { + alert("Please fill all fields marked with (*)"); + return false; + } + if (IsNotNumeric(beginning) || IsNotNumeric(end) || IsNotNumeric(grade)) + { + alert("Beginning, End and Grade must be numeric values"); + return false; + } + if (beginning > end) + { + alert("End must be greater than Beginning"); + return false; + } + if (IsNotHexadecimal(color)){ + alert("Color must be an hexadecimal value"); + return false; + } + return true; +} diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb index 494ed66..aa15fde 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb @@ -1,4 +1,4 @@ -<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> +<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_myprofile"}, :method => :get, :html => { :name => "new_range_form", :onSubmit => 'return validate_new_range_configuration()'} do |f| %> <%= hidden_field_tag :beginning_id, beginning_id %> <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %> <% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb index 471aaea..3518c1b 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb @@ -1,3 +1,3 @@ -<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> +<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_myprofile"}, :method => :get, :html => { :name => "new_range_form", :onSubmit => 'return validate_new_range_configuration()'} do |f| %> <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %> <% end %> diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb index b34a97c..1428793 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb @@ -3,7 +3,7 @@
- <%= f.label :label, "Label:" %> + <%= f.label :label, "(*) Label:" %> <%= f.text_field :label %> @@ -11,7 +11,7 @@
- <%= f.label :beginning, "Beginning:" %> + <%= f.label :beginning, "(*) Beginning:" %> <%= f.text_field :beginning %> @@ -19,7 +19,7 @@
- <%= f.label :end, "End:" %> + <%= f.label :end, "(*) End:" %> <%= f.text_field :end %> @@ -27,7 +27,7 @@
- <%= f.label :grade, "Grade:" %> + <%= f.label :grade, "(*) Grade:" %> <%= f.text_field :grade %> @@ -35,7 +35,7 @@
- <%= f.label :color, "Color:" %> + <%= f.label :color, "(*) Color:" %> <%= f.text_field :color %> diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb b/plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb index 16e8c59..7b32b55 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb @@ -1,3 +1,5 @@ + +

<%= @configuration_name %> Configuration

<% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> diff --git a/plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs b/plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs index 65c2f64..a7c1352 100644 --- a/plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs +++ b/plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs @@ -1,2 +1,2 @@ -page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } +page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } #FIXME page.visual_effect :slide_down, "range_form" -- libgit2 0.21.2