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 | 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 < 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 < 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 < 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 < 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 | ... | ... |