fix project list is not shown on Email notifications (#11032)

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9734 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2012-05-28 08:24:31 +00:00
parent cfddd2ff48
commit cfaa0fc23e
2 changed files with 24 additions and 1 deletions

View File

@ -3,7 +3,7 @@
<%= select_tag 'user[mail_notification]', options_for_select(user_mail_notification_options(@user), @user.mail_notification), <%= select_tag 'user[mail_notification]', options_for_select(user_mail_notification_options(@user), @user.mail_notification),
:onchange => 'if (this.value == "selected") {Element.show("notified-projects")} else {Element.hide("notified-projects")}' %> :onchange => 'if (this.value == "selected") {Element.show("notified-projects")} else {Element.hide("notified-projects")}' %>
</p> </p>
<% content_tag 'div', :id => 'notified-projects', :style => (@user.mail_notification == 'selected' ? '' : 'display:none;') do %> <%= content_tag 'div', :id => 'notified-projects', :style => (@user.mail_notification == 'selected' ? '' : 'display:none;') do %>
<p><% @user.projects.each do |project| %> <p><% @user.projects.each do |project| %>
<label><%= check_box_tag 'notified_project_ids[]', project.id, @user.notified_projects_ids.include?(project.id) %> <%=h project.name %></label><br /> <label><%= check_box_tag 'notified_project_ids[]', project.id, @user.notified_projects_ids.include?(project.id) %> <%=h project.name %></label><br />
<% end %></p> <% end %></p>

View File

@ -309,6 +309,29 @@ class UsersControllerTest < ActionController::TestCase
assert u.check_password?('newpass') assert u.check_password?('newpass')
end end
def test_update_notified_project
get :edit, :id => 2
assert_response :success
assert_template 'edit'
u = User.find(2)
assert_equal [1, 2, 5], u.projects.collect{|p| p.id}.sort
assert_equal [1, 2, 5], u.notified_projects_ids.sort
assert_tag :tag => 'input',
:attributes => {
:id => 'notified_project_ids_',
:value => 1,
}
assert_equal 'all', u.mail_notification
put :update, :id => 2,
:user => {
:mail_notification => 'selected',
},
:notified_project_ids => [1, 2]
u = User.find(2)
assert_equal 'selected', u.mail_notification
assert_equal [1, 2], u.notified_projects_ids.sort
end
def test_destroy def test_destroy
assert_difference 'User.count', -1 do assert_difference 'User.count', -1 do
delete :destroy, :id => 2 delete :destroy, :id => 2