Revision 2484
Added by Jean-Philippe Lang over 16 years ago
trunk/app/controllers/users_controller.rb | ||
---|---|---|
75 | 75 |
@user.admin = params[:user][:admin] if params[:user][:admin] |
76 | 76 |
@user.login = params[:user][:login] if params[:user][:login] |
77 | 77 |
@user.password, @user.password_confirmation = params[:password], params[:password_confirmation] unless params[:password].nil? or params[:password].empty? or @user.auth_source_id |
78 |
if @user.update_attributes(params[:user]) |
|
78 |
@user.attributes = params[:user] |
|
79 |
# Was the account actived ? (do it before User#save clears the change) |
|
80 |
was_activated = (@user.status_change == [User::STATUS_REGISTERED, User::STATUS_ACTIVE]) |
|
81 |
if @user.save |
|
82 |
Mailer.deliver_account_activated(@user) if was_activated |
|
79 | 83 |
flash[:notice] = l(:notice_successful_update) |
80 | 84 |
# Give a string to redirect_to otherwise it would use status param as the response code |
81 | 85 |
redirect_to(url_for(:action => 'list', :status => params[:status], :page => params[:page])) |
trunk/app/models/mailer.rb | ||
---|---|---|
133 | 133 |
:url => url_for(:controller => 'users', :action => 'index', :status => User::STATUS_REGISTERED, :sort_key => 'created_on', :sort_order => 'desc') |
134 | 134 |
end |
135 | 135 | |
136 |
# A registered user's account was activated by an administrator |
|
137 |
def account_activated(user) |
|
138 |
set_language_if_valid user.language |
|
139 |
recipients user.mail |
|
140 |
subject l(:mail_subject_register, Setting.app_title) |
|
141 |
body :user => user, |
|
142 |
:login_url => url_for(:controller => 'account', :action => 'login') |
|
143 |
end |
|
144 | ||
136 | 145 |
def lost_password(token) |
137 | 146 |
set_language_if_valid(token.user.language) |
138 | 147 |
recipients token.user.mail |
trunk/app/views/mailer/account_activated.text.html.rhtml | ||
---|---|---|
1 |
<p><%= l(:notice_account_activated) %></p> |
|
2 |
<p><%= l(:label_login) %>: <%= link_to @login_url, @login_url %></p> |
|
0 | 3 |
trunk/app/views/mailer/account_activated.text.plain.rhtml | ||
---|---|---|
1 |
<%= l(:notice_account_activated) %> |
|
2 |
<%= l(:label_login) %>: <%= @login_url %> |
|
0 | 3 |
trunk/test/functional/users_controller_test.rb | ||
---|---|---|
126 | 126 |
assert_equal 2, Member.find(1).role_id |
127 | 127 |
end |
128 | 128 |
|
129 |
def test_edit_with_activation_should_send_a_notification |
|
130 |
u = User.new(:firstname => 'Foo', :lastname => 'Bar', :mail => 'foo.bar@somenet.foo', :language => 'fr') |
|
131 |
u.login = 'foo' |
|
132 |
u.status = User::STATUS_REGISTERED |
|
133 |
u.save! |
|
134 |
ActionMailer::Base.deliveries.clear |
|
135 |
Setting.bcc_recipients = '1' |
|
136 |
|
|
137 |
post :edit, :id => u.id, :user => {:status => User::STATUS_ACTIVE} |
|
138 |
assert u.reload.active? |
|
139 |
mail = ActionMailer::Base.deliveries.last |
|
140 |
assert_not_nil mail |
|
141 |
assert_equal ['foo.bar@somenet.foo'], mail.bcc |
|
142 |
assert mail.body.include?(ll('fr', :notice_account_activated)) |
|
143 |
end |
|
144 |
|
|
129 | 145 |
def test_destroy_membership |
130 | 146 |
assert_routing( |
131 | 147 |
#TODO: use DELETE method on user_membership_path, modify form |
Also available in: Unified diff
Send an email to the user when an administrator activates a registered user (#2656).