From 24b37d9a0ae70245ee84f738a0d816157433fabf Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Mon, 2 Apr 2012 22:16:23 -0300 Subject: [PATCH] [stoa] Filtering leading zeroes from usp_id and cpf --- plugins/stoa/lib/stoa_plugin/usp_user.rb | 6 +++--- plugins/stoa/test/unit/usp_user.rb | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/stoa/lib/stoa_plugin/usp_user.rb b/plugins/stoa/lib/stoa_plugin/usp_user.rb index 8fa09ed..178c422 100644 --- a/plugins/stoa/lib/stoa_plugin/usp_user.rb +++ b/plugins/stoa/lib/stoa_plugin/usp_user.rb @@ -9,15 +9,15 @@ class StoaPlugin::UspUser < ActiveRecord::Base alias_attribute :birth_date, :dtanas def self.exists?(usp_id) - !StoaPlugin::UspUser.find(:first, :conditions => {:codpes => usp_id}).nil? + !StoaPlugin::UspUser.find(:first, :conditions => {:codpes => usp_id.to_i}).nil? end def self.matches?(usp_id, field, value) - user = StoaPlugin::UspUser.find(:first, :conditions => {:codpes => usp_id}) + user = StoaPlugin::UspUser.find(:first, :conditions => {:codpes => usp_id.to_i}) return false if user.nil? || !user.respond_to?(field) || value.blank? case field.to_sym when :cpf - user.cpf == Digest::MD5.hexdigest(SALT+value.to_s) + user.cpf == Digest::MD5.hexdigest(SALT+value.to_i.to_s) when :birth_date user.birth_date.to_s == value end diff --git a/plugins/stoa/test/unit/usp_user.rb b/plugins/stoa/test/unit/usp_user.rb index 6c43479..204777e 100644 --- a/plugins/stoa/test/unit/usp_user.rb +++ b/plugins/stoa/test/unit/usp_user.rb @@ -37,5 +37,10 @@ class StoaPlugin::UspUserTest < ActiveSupport::TestCase assert !StoaPlugin::UspUser.matches?(123456, :birth_date, '1999-01-30') assert !StoaPlugin::UspUser.matches?(654321, :birth_date, '1970-01-30') end + + should 'filter leading zeroes of id codes on exists and matches' do + assert StoaPlugin::UspUser.exists?('0000123456') + assert StoaPlugin::UspUser.matches?(123456, :cpf, '00012345678') + end end -- libgit2 0.21.2