diff --git a/lib/ext/person.rb b/lib/ext/person.rb index 8a3e7b6..7e91681 100644 --- a/lib/ext/person.rb +++ b/lib/ext/person.rb @@ -8,8 +8,6 @@ class Person attr_accessible :percentage_incomplete - validate :validate_full_name - scope :search, lambda { |name="", state="", city="", email=""| like_sql = "" values = [] @@ -59,51 +57,8 @@ class Person self.user.secondary_email = value unless self.user.nil? end - def validate_full_name - full_validation = /([^\w\*\s*])|(^|\s)([a-z]|[0-9])/ - partial_validation = /[^\w\*\s]/ - invalid = false - - return false if self.name.blank? - - validation_name = replace_some_special_chars(self.name) - - validation_name.split(" ").each do |value| - invalid = if value.length > 3 - full_validation.match(value) - else - partial_validation.match(value) - end - end - - if invalid - self.errors.add(:name, _("Should begin with a capital letter and no special characters")) - return false - end - true - end - def software? false end - private - - def replace_some_special_chars text - text.gsub(/([áàâãéèêíïóôõöú])/) do |value| - if( ["á","à","â","ã"].include?(value) ) - "a" - elsif( ["é","è","ê"].include?(value) ) - "e" - elsif( ["í","ï"].include?(value) ) - "i" - elsif ( ["ó","ô","õ","ö"].include?(value) ) - "o" - elsif( ["ú"].indexOf(value) ) - "u" - else - value - end - end - end end diff --git a/public/mpog-user-validations.js b/public/mpog-user-validations.js index 4401541..0a9109f 100644 --- a/public/mpog-user-validations.js +++ b/public/mpog-user-validations.js @@ -209,49 +209,6 @@ }); } - // Sorry, I know its ugly. But I cant get ([^\w\*\s*])|(^|\s)([a-z]|[0-9]) - // to ignore Brazilian not so much special chars in names - function replace_some_special_chars(text) { - return text.replace(/([áàâãéèêíïóôõöú])/g, function(value){ - if( ["á","à","â","ã"].indexOf(value) != -1 ) - return "a"; - else if( ["é","è","ê"].indexOf(value) != -1 ) - return "e"; - else if( ["í","ï"].indexOf(value) != -1 ) - return "i"; - else if ( ["ó","ô","õ","ö"].indexOf(value) != -1 ) - return "o"; - else if( ["ú"].indexOf(value) != -1 ) - return "u"; - else - return value; - }); - } - - function invalid_name_validation(text) { - if( text.trim().length === 0 ) { - return true; - } - - var full_validation = /([^\w\*\s*])|(^|\s)([a-z]|[0-9])/; // no special chars and do not initialize with no capital latter - var partial_validation = /[^\w\*\s*]/; // no special chars - text = replace_some_special_chars(text); - var slices = text.split(" "); - var invalid = false; - - for(var i = 0; i < slices.length; i++) { - if( slices[i].length > 3 || text.length <= 3 ) { - invalid = full_validation.test(slices[i]); - } else { - invalid = partial_validation.test(slices[i]); - } - - if(invalid) break; - } - - return invalid; - } - // Generic function show_plugin_error_message(field_selector, hidden_message_id ) { var field = jQuery(field_selector); @@ -392,7 +349,6 @@ fix_phone_mask_format("#profile_data_comercial_phone"); fix_phone_mask_format("#profile_data_contact_phone"); - addBlurFields("#profile_data_name", "full_name_error", invalid_name_validation); addBlurFields("#profile_data_email", "email_error", invalid_email_validation); addBlurFields("#user_secondary_email", "email_error", invalid_email_validation, true); addBlurFields("#profile_data_personal_website", "site_error", invalid_site_validation); -- libgit2 0.21.2