From d9a22bdf5d23789abcf6deda15689580dbd230d8 Mon Sep 17 00:00:00 2001 From: Gabriela Navarro Date: Mon, 7 Apr 2014 12:15:35 +0000 Subject: [PATCH] user_registration: Add CreateUser type on task.rb --- app/controllers/public/account_controller.rb | 7 +++++-- app/models/create_user.rb | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index d8434e6..ba3fbde 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -65,6 +65,7 @@ class AccountController < ApplicationController render :text => { :ok=>true, :key=>key }.to_json end + # action to register an user to the application def signup if @plugins.dispatch(:allow_user_registration).include?(false) redirect_back_or_default(:controller => 'home') @@ -82,10 +83,11 @@ class AccountController < ApplicationController @terms_of_use = environment.terms_of_use @user.person_data = params[:profile_data] @user.return_to = session[:return_to] - @person = Person.new(params[:profile_data]) + @person = Person.new @person.environment = @user.environment unless @user.environment.enabled?('admin_must_approve_new_users') if request.post? + @person.update_attributes(params[:profile_data]) if may_be_a_bot set_signup_start_time_for_now @block_bot = true @@ -113,9 +115,10 @@ class AccountController < ApplicationController end else @task = CreateUser.new(params[:user]) + @task.person_data = @user.person_data if request.post? @task.target = @user.environment - @task.name = @person.name + @task.name = @user.name if @task.save session[:notice] = _('Thanks for registering. The administrators were notified.') @register_pending = true diff --git a/app/models/create_user.rb b/app/models/create_user.rb index 5a44126..d68f69e 100644 --- a/app/models/create_user.rb +++ b/app/models/create_user.rb @@ -3,6 +3,7 @@ class CreateUser < Task settings_items :email, :type => String settings_items :name, :type => String settings_items :author_name, :type => String + settings_items :person_data, :type => String after_create :schedule_spam_checking @@ -26,13 +27,15 @@ class CreateUser < Task def perform user = User.new + person = Person.new(person_data) author_name = user.name user_data = self.data.reject do |key, value| ! DATA_FIELDS.include?(key.to_s) end - + person.update_attributes(@person) user.update_attributes(user_data) user.environment = self.environment + person.environment = user.environment user.save! end -- libgit2 0.21.2