Commit d9a22bdf5d23789abcf6deda15689580dbd230d8

Authored by Gabriela Navarro
Committed by Tallys Martins
1 parent 52ab5d7f

user_registration: Add CreateUser type on task.rb

Signed-off-by: Álvaro Fernando<alvarofernandoms@gmail.com>
app/controllers/public/account_controller.rb
... ... @@ -65,6 +65,7 @@ class AccountController &lt; ApplicationController
65 65 render :text => { :ok=>true, :key=>key }.to_json
66 66 end
67 67  
  68 + # action to register an user to the application
68 69 def signup
69 70 if @plugins.dispatch(:allow_user_registration).include?(false)
70 71 redirect_back_or_default(:controller => 'home')
... ... @@ -82,10 +83,11 @@ class AccountController &lt; ApplicationController
82 83 @terms_of_use = environment.terms_of_use
83 84 @user.person_data = params[:profile_data]
84 85 @user.return_to = session[:return_to]
85   - @person = Person.new(params[:profile_data])
  86 + @person = Person.new
86 87 @person.environment = @user.environment
87 88 unless @user.environment.enabled?('admin_must_approve_new_users')
88 89 if request.post?
  90 + @person.update_attributes(params[:profile_data])
89 91 if may_be_a_bot
90 92 set_signup_start_time_for_now
91 93 @block_bot = true
... ... @@ -113,9 +115,10 @@ class AccountController &lt; ApplicationController
113 115 end
114 116 else
115 117 @task = CreateUser.new(params[:user])
  118 + @task.person_data = @user.person_data
116 119 if request.post?
117 120 @task.target = @user.environment
118   - @task.name = @person.name
  121 + @task.name = @user.name
119 122 if @task.save
120 123 session[:notice] = _('Thanks for registering. The administrators were notified.')
121 124 @register_pending = true
... ...
app/models/create_user.rb
... ... @@ -3,6 +3,7 @@ class CreateUser &lt; Task
3 3 settings_items :email, :type => String
4 4 settings_items :name, :type => String
5 5 settings_items :author_name, :type => String
  6 + settings_items :person_data, :type => String
6 7  
7 8 after_create :schedule_spam_checking
8 9  
... ... @@ -26,13 +27,15 @@ class CreateUser &lt; Task
26 27  
27 28 def perform
28 29 user = User.new
  30 + person = Person.new(person_data)
29 31 author_name = user.name
30 32 user_data = self.data.reject do |key, value|
31 33 ! DATA_FIELDS.include?(key.to_s)
32 34 end
33   -
  35 + person.update_attributes(@person)
34 36 user.update_attributes(user_data)
35 37 user.environment = self.environment
  38 + person.environment = user.environment
36 39 user.save!
37 40 end
38 41  
... ...