Commit 78a21cb745626df1f3c4658c4bd54372f6938b3c

Authored by Diego Camarinha
Committed by Diego Camarinha
1 parent 78b2a140

[Mezuro] Added validations to ranges. Not working yet.

plugins/mezuro/public/javascripts/validations.js
1 function validate_metric_configuration(){ 1 function validate_metric_configuration(){
2 - var x=document.forms["configuration_form"]["metric_configuration[code]"].value;  
3 - if (x==null || x=="") 2 + var code=document.forms["configuration_form"]["metric_configuration[code]"].value;
  3 + if (is_null(code))
4 { 4 {
5 alert("Code must be filled out"); 5 alert("Code must be filled out");
6 return false; 6 return false;
7 } 7 }
8 } 8 }
  9 +
  10 +function is_null(value){
  11 + if(value == "" || value == null){
  12 + return true;
  13 + }
  14 + return false;
  15 +}
  16 +
  17 +function IsNotNumeric(value){
  18 + if(value.match(/[0-9]*\.?[0-9]+/))
  19 + {
  20 + return false;
  21 + }
  22 + return true;
  23 +}
  24 +
  25 +function IsNotHexadecimal(value){
  26 + if(value.match(/[0-9a-fA-F]{1,8}/))
  27 + {
  28 + return false;
  29 + }
  30 + return true;
  31 +}
  32 +
  33 +function validate_new_range_configuration(){
  34 + var label = document.forms["new_range_form"]["range[label]"].value;
  35 + var beginning = document.forms["new_range_form"]["range[beginning]"].value;
  36 + var end = document.forms["new_range_form"]["range[end]"].value;
  37 + var color = document.forms["new_range_form"]["range[color]"].value;
  38 + var grade = document.forms["new_range_form"]["range[grade]"].value;
  39 +
  40 + return false;
  41 +
  42 + if (is_null(label) || is_null(beginning) || is_null(end) || is_null(color) || is_null(grade))
  43 + {
  44 + alert("Please fill all fields marked with (*)");
  45 + return false;
  46 + }
  47 + if (IsNotNumeric(beginning) || IsNotNumeric(end) || IsNotNumeric(grade))
  48 + {
  49 + alert("Beginning, End and Grade must be numeric values");
  50 + return false;
  51 + }
  52 + if (beginning > end)
  53 + {
  54 + alert("End must be greater than Beginning");
  55 + return false;
  56 + }
  57 + if (IsNotHexadecimal(color)){
  58 + alert("Color must be an hexadecimal value");
  59 + return false;
  60 + }
  61 + return true;
  62 +}
plugins/mezuro/views/mezuro_plugin_myprofile/_edit_range.html.erb
1 -<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> 1 +<% 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| %>
2 <%= hidden_field_tag :beginning_id, beginning_id %> 2 <%= hidden_field_tag :beginning_id, beginning_id %>
3 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %> 3 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %>
4 <% end %> 4 <% end %>
plugins/mezuro/views/mezuro_plugin_myprofile/_new_range.html.erb
1 -<% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> 1 +<% 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| %>
2 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %> 2 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %>
3 <% end %> 3 <% end %>
plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <table> 3 <table>
4 <tr> 4 <tr>
5 <td> 5 <td>
6 - <%= f.label :label, "Label:" %> 6 + <%= f.label :label, "(*) Label:" %>
7 </td> 7 </td>
8 <td> 8 <td>
9 <%= f.text_field :label %> 9 <%= f.text_field :label %>
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 </tr> 11 </tr>
12 <tr> 12 <tr>
13 <td> 13 <td>
14 - <%= f.label :beginning, "Beginning:" %> 14 + <%= f.label :beginning, "(*) Beginning:" %>
15 </td> 15 </td>
16 <td> 16 <td>
17 <%= f.text_field :beginning %> 17 <%= f.text_field :beginning %>
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 </tr> 19 </tr>
20 <tr> 20 <tr>
21 <td> 21 <td>
22 - <%= f.label :end, "End:" %> 22 + <%= f.label :end, "(*) End:" %>
23 </td> 23 </td>
24 <td> 24 <td>
25 <%= f.text_field :end %> 25 <%= f.text_field :end %>
@@ -27,7 +27,7 @@ @@ -27,7 +27,7 @@
27 </tr> 27 </tr>
28 <tr> 28 <tr>
29 <td> 29 <td>
30 - <%= f.label :grade, "Grade:" %> 30 + <%= f.label :grade, "(*) Grade:" %>
31 </td> 31 </td>
32 <td> 32 <td>
33 <%= f.text_field :grade %> 33 <%= f.text_field :grade %>
@@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
35 </tr> 35 </tr>
36 <tr> 36 <tr>
37 <td> 37 <td>
38 - <%= f.label :color, "Color:" %> 38 + <%= f.label :color, "(*) Color:" %>
39 </td> 39 </td>
40 <td> 40 <td>
41 <%= f.text_field :color %> 41 <%= f.text_field :color %>
plugins/mezuro/views/mezuro_plugin_myprofile/edit_metric_configuration.html.erb
  1 +<script src="/plugins/mezuro/javascripts/validations.js" type="text/javascript"></script>
  2 +
1 <h2><%= @configuration_name %> Configuration</h2> 3 <h2><%= @configuration_name %> Configuration</h2>
2 4
3 <% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %> 5 <% form_for :metric_configuration, :url => {:action =>"update_metric_configuration", :controller => "mezuro_plugin_myprofile"}, :method => :get do |f| %>
plugins/mezuro/views/mezuro_plugin_myprofile/new_range.rjs
1 -page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } 1 +page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => "bolinha" } #FIXME
2 page.visual_effect :slide_down, "range_form" 2 page.visual_effect :slide_down, "range_form"