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 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 5 alert("Code must be filled out");
6 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 2 <%= hidden_field_tag :beginning_id, beginning_id %>
3 3 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %>
4 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 2 <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %>
3 3 <% end %>
... ...
plugins/mezuro/views/mezuro_plugin_myprofile/_range_form.html.erb
... ... @@ -3,7 +3,7 @@
3 3 <table>
4 4 <tr>
5 5 <td>
6   - <%= f.label :label, "Label:" %>
  6 + <%= f.label :label, "(*) Label:" %>
7 7 </td>
8 8 <td>
9 9 <%= f.text_field :label %>
... ... @@ -11,7 +11,7 @@
11 11 </tr>
12 12 <tr>
13 13 <td>
14   - <%= f.label :beginning, "Beginning:" %>
  14 + <%= f.label :beginning, "(*) Beginning:" %>
15 15 </td>
16 16 <td>
17 17 <%= f.text_field :beginning %>
... ... @@ -19,7 +19,7 @@
19 19 </tr>
20 20 <tr>
21 21 <td>
22   - <%= f.label :end, "End:" %>
  22 + <%= f.label :end, "(*) End:" %>
23 23 </td>
24 24 <td>
25 25 <%= f.text_field :end %>
... ... @@ -27,7 +27,7 @@
27 27 </tr>
28 28 <tr>
29 29 <td>
30   - <%= f.label :grade, "Grade:" %>
  30 + <%= f.label :grade, "(*) Grade:" %>
31 31 </td>
32 32 <td>
33 33 <%= f.text_field :grade %>
... ... @@ -35,7 +35,7 @@
35 35 </tr>
36 36 <tr>
37 37 <td>
38   - <%= f.label :color, "Color:" %>
  38 + <%= f.label :color, "(*) Color:" %>
39 39 </td>
40 40 <td>
41 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 3 <h2><%= @configuration_name %> Configuration</h2>
2 4  
3 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 2 page.visual_effect :slide_down, "range_form"
... ...