@@ -74,7 +74,7 module Redmine | |||||
74 | # # => {'title' => 'My book'} |
|
74 | # # => {'title' => 'My book'} | |
75 | def delete_unsafe_attributes(attrs, user=User.current) |
|
75 | def delete_unsafe_attributes(attrs, user=User.current) | |
76 | safe = safe_attribute_names(user) |
|
76 | safe = safe_attribute_names(user) | |
77 | attrs.dup.delete_if {|k,v| !safe.include?(k)} |
|
77 | attrs.dup.delete_if {|k,v| !safe.include?(k.to_s)} | |
78 | end |
|
78 | end | |
79 |
|
79 | |||
80 | # Sets attributes from attrs that are safe |
|
80 | # Sets attributes from attrs that are safe |
@@ -39,6 +39,18 class RolesControllerTest < Redmine::ControllerTest | |||||
39 | get :new |
|
39 | get :new | |
40 | assert_response :success |
|
40 | assert_response :success | |
41 | assert_select 'input[name=?]', 'role[name]' |
|
41 | assert_select 'input[name=?]', 'role[name]' | |
|
42 | assert_select 'input[name=?]', 'role[permissions][]' | |||
|
43 | end | |||
|
44 | ||||
|
45 | def test_new_should_prefill_permissions_with_non_member_permissions | |||
|
46 | role = Role.non_member | |||
|
47 | role.permissions = [:view_issues, :view_documents] | |||
|
48 | role.save! | |||
|
49 | ||||
|
50 | get :new | |||
|
51 | assert_response :success | |||
|
52 | assert_equal %w(view_documents view_issues), | |||
|
53 | css_select('input[name="role[permissions][]"][checked=checked]').map {|e| e.attr('value')}.sort | |||
42 | end |
|
54 | end | |
43 |
|
55 | |||
44 | def test_new_with_copy |
|
56 | def test_new_with_copy |
General Comments 0
You need to be logged in to leave comments.
Login now