Commit 65f294e1bb36221c89ab3718addaaed8a26969a1
Committed by
Tallys Martins
1 parent
e6f4279a
Exists in
master
and in
29 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 | ... | ... |