@@ -0,0 +1,2 | |||
|
1 | <p><%= l(:notice_account_activated) %></p> | |
|
2 | <p><%= l(:label_login) %>: <%= link_to @login_url, @login_url %></p> |
@@ -75,7 +75,11 class UsersController < ApplicationController | |||
|
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 |
|
|
|
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])) |
@@ -133,6 +133,15 class Mailer < ActionMailer::Base | |||
|
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 |
@@ -126,6 +126,22 class UsersControllerTest < Test::Unit::TestCase | |||
|
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 |
General Comments 0
You need to be logged in to leave comments.
Login now