Commit e1df99fbd9232b4d22de4fa9a55ae7b7269fd176

Authored by Fabio Teixeira
1 parent 1f4a8040

correcoes_aderencia: Fix full name regex bug

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
lib/ext/person.rb
@@ -60,8 +60,17 @@ class Person @@ -60,8 +60,17 @@ class Person
60 def validate_full_name 60 def validate_full_name
61 reg_firsts_char = /(^|\s)([a-z]|[0-9])/ 61 reg_firsts_char = /(^|\s)([a-z]|[0-9])/
62 reg_special_char = /[^\w\*\s]/ 62 reg_special_char = /[^\w\*\s]/
  63 + invalid = false
63 64
64 - invalid = reg_firsts_char.match(self.name) || reg_special_char.match(self.name) 65 + return false if self.name.blank?
  66 +
  67 + self.name.split(" ").each do |value|
  68 + invalid = if value.length > 3
  69 + reg_firsts_char.match(value) || reg_special_char.match(value)
  70 + else
  71 + reg_special_char.match(value)
  72 + end
  73 + end
65 74
66 if invalid 75 if invalid
67 self.errors.add(:name, _("Should begin with a capital letter and no special characters")) 76 self.errors.add(:name, _("Should begin with a capital letter and no special characters"))
public/mpog-user-validations.js
@@ -92,8 +92,18 @@ @@ -92,8 +92,18 @@
92 function is_invalid_formated(text) { 92 function is_invalid_formated(text) {
93 var reg_firsts_char = /(^|\s)([a-z]|[0-9])/g; 93 var reg_firsts_char = /(^|\s)([a-z]|[0-9])/g;
94 var reg_special_char = /[^\w\*\s*]/g; 94 var reg_special_char = /[^\w\*\s*]/g;
  95 + var invalid = false;
  96 + var slices = text.split(" ");
  97 +
  98 + for(var i = 0; i < slices.length; i++) {
  99 + if( slices[i].length > 3 ) {
  100 + invalid = reg_firsts_char.test(slices[i]) || reg_special_char.test(slices[i]);
  101 + } else {
  102 + invalid = reg_special_char.test(slices[i]);
  103 + }
  104 + }
95 105
96 - return reg_firsts_char.test(text) || reg_special_char.test(text); 106 + return invalid;
97 } 107 }
98 108
99 function show_full_name_error_message() { 109 function show_full_name_error_message() {
test/unit/mpog_person_test.rb
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39; @@ -2,7 +2,7 @@ require File.dirname(__FILE__) + &#39;/../../../../test/test_helper&#39;
2 2
3 class MpogSoftwarePluginPersonTest < ActiveSupport::TestCase 3 class MpogSoftwarePluginPersonTest < ActiveSupport::TestCase
4 should 'save person with a valid full name' do 4 should 'save person with a valid full name' do
5 - p = Person::new :name=>"S1mpl3 N4m3", :identifier=>"simple-name" 5 + p = Person::new :name=>"S1mpl3 0f N4m3", :identifier=>"simple-name"
6 p.user = fast_create(:user) 6 p.user = fast_create(:user)
7 7
8 assert_equal true, p.save 8 assert_equal true, p.save