diff options
-rw-r--r-- | app/helpers/application_helper.rb | 3 | ||||
-rw-r--r-- | test/unit/helpers/application_helper_test.rb | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 968420041..c3f0d4876 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -305,6 +305,9 @@ module ApplicationHelper # Returns a string for users/groups option tags def principals_options_for_select(collection, selected=nil) s = '' + if collection.include?(User.current) + s << content_tag('option', "<< #{l(:label_me)} >>", :value => User.current.id) + end groups = '' collection.sort.each do |element| selected_attribute = ' selected="selected"' if option_value_selected?(element, selected) diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb index c98007790..3d98aafe8 100644 --- a/test/unit/helpers/application_helper_test.rb +++ b/test/unit/helpers/application_helper_test.rb @@ -854,18 +854,21 @@ RAW end def test_principals_options_for_select_with_users + User.current = nil users = [User.find(2), User.find(4)] assert_equal %(<option value="2">John Smith</option><option value="4">Robert Hill</option>), principals_options_for_select(users) end def test_principals_options_for_select_with_selected + User.current = nil users = [User.find(2), User.find(4)] assert_equal %(<option value="2">John Smith</option><option value="4" selected="selected">Robert Hill</option>), principals_options_for_select(users, User.find(4)) end def test_principals_options_for_select_with_users_and_groups + User.current = nil users = [User.find(2), Group.find(11), User.find(4), Group.find(10)] assert_equal %(<option value="2">John Smith</option><option value="4">Robert Hill</option>) + %(<optgroup label="Groups"><option value="10">A Team</option><option value="11">B Team</option></optgroup>), @@ -875,4 +878,10 @@ RAW def test_principals_options_for_select_with_empty_collection assert_equal '', principals_options_for_select([]) end + + def test_principals_options_for_select_should_include_me_option_when_current_user_is_in_collection + users = [User.find(2), User.find(4)] + User.current = User.find(4) + assert_include '<option value="4"><< me >></option>', principals_options_for_select(users) + end end |