Commit d9a22bdf5d23789abcf6deda15689580dbd230d8
Committed by
Tallys Martins
1 parent
52ab5d7f
Exists in
master
and in
29 other branches
user_registration: Add CreateUser type on task.rb
Signed-off-by: Álvaro Fernando<alvarofernandoms@gmail.com>
Showing
2 changed files
with
9 additions
and
3 deletions
Show diff stats
app/controllers/public/account_controller.rb
@@ -65,6 +65,7 @@ class AccountController < ApplicationController | @@ -65,6 +65,7 @@ class AccountController < 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 < ApplicationController | @@ -82,10 +83,11 @@ class AccountController < 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 < ApplicationController | @@ -113,9 +115,10 @@ class AccountController < 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 < Task | @@ -3,6 +3,7 @@ class CreateUser < 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 < Task | @@ -26,13 +27,15 @@ class CreateUser < 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 |