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