Commit 4a0ec8b5e177042a1bfcaba068e4e1118705a1da

Authored by Rodrigo Souto
Committed by Daniela Feitosa
1 parent 610e3552

Fix usp_id match

plugins/stoa/lib/stoa_plugin.rb
@@ -60,12 +60,14 @@ class StoaPlugin < Noosfero::Plugin @@ -60,12 +60,14 @@ class StoaPlugin < Noosfero::Plugin
60 end 60 end
61 61
62 def account_controller_filters 62 def account_controller_filters
  63 + environment = context.environment
63 block = lambda do 64 block = lambda do
64 params[:profile_data] ||= {} 65 params[:profile_data] ||= {}
65 params[:profile_data][:invitation_code] = params[:invitation_code] 66 params[:profile_data][:invitation_code] = params[:invitation_code]
  67 + invitation = Task.pending.find(:first, :conditions => {:code => params[:invitation_code]})
66 if request.post? 68 if request.post?
67 - if !params[:invitation_code] && !StoaPlugin::UspUser.matches?(params[:profile_data][:usp_id], params[:confirmation_field], params[params[:confirmation_field]])  
68 - @person = Person.new 69 + if !invitation && !StoaPlugin::UspUser.matches?(params[:profile_data][:usp_id], params[:confirmation_field], params[params[:confirmation_field]])
  70 + @person = Person.new(:environment => environment)
69 @person.errors.add(:usp_id, _(' validation failed')) 71 @person.errors.add(:usp_id, _(' validation failed'))
70 render :action => :signup 72 render :action => :signup
71 end 73 end
plugins/stoa/lib/stoa_plugin/usp_user.rb
@@ -13,6 +13,8 @@ class StoaPlugin::UspUser < ActiveRecord::Base @@ -13,6 +13,8 @@ class StoaPlugin::UspUser < ActiveRecord::Base
13 end 13 end
14 14
15 def self.matches?(usp_id, field, value) 15 def self.matches?(usp_id, field, value)
  16 + usp_id.gsub!(/[.-]/,'')
  17 + value.gsub!(/[.-]/,'')
16 user = StoaPlugin::UspUser.find_by_codpes(usp_id.to_i) 18 user = StoaPlugin::UspUser.find_by_codpes(usp_id.to_i)
17 return false if user.nil? || !user.respond_to?(field) || value.blank? 19 return false if user.nil? || !user.respond_to?(field) || value.blank?
18 case field.to_sym 20 case field.to_sym