Commit 65f294e1bb36221c89ab3718addaaed8a26969a1
Committed by
Tallys Martins
1 parent
e6f4279a
Exists in
master
and in
27 other branches
Changed when user is created on moderation and removed unused user data
from task. (AI3036) Signed-off-by: André Bernardes <andrebsguedes@gmail.com> Signed-off-by: Hebert Douglas <hebertdougl@gmail.com>
Showing
2 changed files
with
48 additions
and
66 deletions
Show diff stats
app/controllers/public/account_controller.rb
| ... | ... | @@ -15,11 +15,27 @@ class AccountController < ApplicationController |
| 15 | 15 | |
| 16 | 16 | def activate |
| 17 | 17 | @user = User.find_by_activation_code(params[:activation_code]) if params[:activation_code] |
| 18 | - if @user and @user.activate | |
| 19 | - @message = _("Your account has been activated, now you can log in!") | |
| 20 | - check_redirection | |
| 21 | - session[:join] = params[:join] unless params[:join].blank? | |
| 22 | - render :action => 'login', :userlogin => @user.login | |
| 18 | + if @user | |
| 19 | + unless @user.environment.enabled?('admin_must_approve_new_users') | |
| 20 | + if @user.activate | |
| 21 | + @message = _("Your account has been activated, now you can log in!") | |
| 22 | + check_redirection | |
| 23 | + session[:join] = params[:join] unless params[:join].blank? | |
| 24 | + render :action => 'login', :userlogin => @user.login | |
| 25 | + end | |
| 26 | + else | |
| 27 | + @task = CreateUser.new | |
| 28 | + @task.user_id = @user.id | |
| 29 | + @task.name = @user.name | |
| 30 | + @task.email =@user.email | |
| 31 | + @task.target = @user.environment | |
| 32 | + if @task.save | |
| 33 | + session[:notice] = _('Thanks for registering. The administrators were notified.') | |
| 34 | + @register_pending = true | |
| 35 | + @user.activation_code = nil | |
| 36 | + @user.save! | |
| 37 | + end | |
| 38 | + end | |
| 23 | 39 | else |
| 24 | 40 | session[:notice] = _("It looks like you're trying to activate an account. Perhaps have already activated this account?") |
| 25 | 41 | redirect_to :controller => :home |
| ... | ... | @@ -85,45 +101,30 @@ class AccountController < ApplicationController |
| 85 | 101 | @user.return_to = session[:return_to] |
| 86 | 102 | @person = Person.new |
| 87 | 103 | @person.environment = @user.environment |
| 88 | - unless @user.environment.enabled?('admin_must_approve_new_users') | |
| 89 | - if request.post? | |
| 90 | - if may_be_a_bot | |
| 91 | - set_signup_start_time_for_now | |
| 92 | - @block_bot = true | |
| 93 | - session[:may_be_a_bot] = true | |
| 94 | - else | |
| 95 | - if session[:may_be_a_bot] | |
| 96 | - return false unless verify_recaptcha :model=>@user, :message=>_('Captcha (the human test)') | |
| 97 | - end | |
| 98 | - @user.community_to_join = session[:join] | |
| 99 | - @user.signup! | |
| 100 | - owner_role = Role.find_by_name('owner') | |
| 101 | - @user.person.affiliate(@user.person, [owner_role]) if owner_role | |
| 102 | - invitation = Task.find_by_code(@invitation_code) | |
| 103 | - if invitation | |
| 104 | - invitation.update_attributes!({:friend => @user.person}) | |
| 105 | - invitation.finish | |
| 106 | - end | |
| 107 | - if @user.activated? | |
| 108 | - self.current_user = @user | |
| 109 | - check_join_in_community(@user) | |
| 110 | - go_to_signup_initial_page | |
| 111 | - else | |
| 112 | - @register_pending = true | |
| 113 | - end | |
| 104 | + if request.post? | |
| 105 | + @person.attributes = params[:profile_data] | |
| 106 | + if may_be_a_bot | |
| 107 | + set_signup_start_time_for_now | |
| 108 | + @block_bot = true | |
| 109 | + session[:may_be_a_bot] = true | |
| 110 | + else | |
| 111 | + if session[:may_be_a_bot] | |
| 112 | + return false unless verify_recaptcha :model=>@user, :message=>_('Captcha (the human test)') | |
| 114 | 113 | end |
| 115 | - end | |
| 116 | - else | |
| 117 | - @task = CreateUser.new(params[:user]) | |
| 118 | - @task.person_data = @user.person_data | |
| 119 | - if request.post? | |
| 120 | - if @user.valid? | |
| 121 | - @task.target = @user.environment | |
| 122 | - @task.name = @user.name | |
| 123 | - if @task.save | |
| 124 | - session[:notice] = _('Thanks for registering. The administrators were notified.') | |
| 125 | - @register_pending = true | |
| 126 | - end | |
| 114 | + @user.community_to_join = session[:join] | |
| 115 | + @user.signup! | |
| 116 | + owner_role = Role.find_by_name('owner') | |
| 117 | + @user.person.affiliate(@user.person, [owner_role]) if owner_role | |
| 118 | + invitation = Task.find_by_code(@invitation_code) | |
| 119 | + if invitation | |
| 120 | + invitation.update_attributes!({:friend => @user.person}) | |
| 121 | + invitation.finish | |
| 122 | + end | |
| 123 | + if @user.activated? | |
| 124 | + self.current_user = @user | |
| 125 | + go_to_signup_initial_page | |
| 126 | + else | |
| 127 | + @register_pending = true | |
| 127 | 128 | end |
| 128 | 129 | end |
| 129 | 130 | end | ... | ... |
app/models/create_user.rb
| 1 | 1 | class CreateUser < Task |
| 2 | 2 | |
| 3 | - settings_items :email, :type => String | |
| 3 | + settings_items :user_id, :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 | + settings_items :email, :type => String | |
| 7 | 7 | |
| 8 | 8 | after_create :schedule_spam_checking |
| 9 | 9 | |
| 10 | 10 | alias :environment :target |
| 11 | 11 | alias :environment= :target= |
| 12 | 12 | |
| 13 | - DATA_FIELDS = Person.fields + ['name', 'email', 'login', 'author_name', 'password', 'password_confirmation'] | |
| 14 | - DATA_FIELDS.each do |field| | |
| 15 | - settings_items field.to_sym | |
| 16 | - end | |
| 17 | - | |
| 18 | 13 | def schedule_spam_checking |
| 19 | 14 | self.delay.check_for_spam |
| 20 | 15 | end |
| ... | ... | @@ -26,13 +21,8 @@ class CreateUser < Task |
| 26 | 21 | end |
| 27 | 22 | |
| 28 | 23 | def perform |
| 29 | - user = User.new(user_data) | |
| 30 | - user.person = Person.new(person_data) | |
| 31 | - user.person.identifier = user.login | |
| 32 | - author_name = user.name | |
| 33 | - user.environment = self.environment | |
| 34 | - user.person.environment = user.environment | |
| 35 | - user.signup! | |
| 24 | + user=User.find_by_id(user_id) | |
| 25 | + user.activate | |
| 36 | 26 | end |
| 37 | 27 | |
| 38 | 28 | def title |
| ... | ... | @@ -66,13 +56,4 @@ class CreateUser < Task |
| 66 | 56 | _("User \"%{user}\" just requested to register. You have to approve or reject it through the \"Pending Validations\" section in your control panel.\n") % { :user => self.name } |
| 67 | 57 | end |
| 68 | 58 | |
| 69 | - protected | |
| 70 | - | |
| 71 | - def user_data | |
| 72 | - user_data = self.data.reject do |key, value| | |
| 73 | - !DATA_FIELDS.include?(key.to_s) | |
| 74 | - end | |
| 75 | - | |
| 76 | - user_data | |
| 77 | - end | |
| 78 | 59 | end |
| 79 | 60 | \ No newline at end of file | ... | ... |