Commit d9a22bdf5d23789abcf6deda15689580dbd230d8
Committed by
Tallys Martins
1 parent
52ab5d7f
Exists in
master
and in
22 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 | ... | ... |