Feature #12796 » 0001-Show-user-groups-in-user-profile-page.patch
| app/helpers/application_helper.rb | ||
|---|---|---|
| 63 | 63 |
end |
| 64 | 64 |
end |
| 65 | 65 | |
| 66 |
# Displays a link to edit group page if current user is admin |
|
| 67 |
# Otherwise display only the group name |
|
| 68 |
def link_to_group(group, options={})
|
|
| 69 |
if group.is_a?(Group) |
|
| 70 |
name = h(group.name) |
|
| 71 |
if (User.current.admin?) |
|
| 72 |
only_path = options[:only_path].nil? ? true : options[:only_path] |
|
| 73 |
link_to name, edit_group_path(group, :only_path => only_path) |
|
| 74 |
else |
|
| 75 |
name |
|
| 76 |
end |
|
| 77 |
end |
|
| 78 |
end |
|
| 79 | ||
| 66 | 80 |
# Displays a link to +issue+ with its subject. |
| 67 | 81 |
# Examples: |
| 68 | 82 |
# |
| app/views/users/show.html.erb | ||
|---|---|---|
| 84 | 84 |
<% end %> |
| 85 | 85 |
</ul> |
| 86 | 86 |
<% end %> |
| 87 | ||
| 88 |
<% unless @user.groups.empty? %> |
|
| 89 |
<div id="groups"> |
|
| 90 |
<h3><%=l(:label_group_plural)%></h3> |
|
| 91 |
<ul> |
|
| 92 |
<% for group in @user.groups %> |
|
| 93 |
<li><%= link_to_group(group) %> |
|
| 94 |
<% end %> |
|
| 95 |
</ul> |
|
| 96 |
</div> |
|
| 97 |
<% end %> |
|
| 98 | ||
| 87 | 99 |
<%= call_hook :view_account_left_bottom, :user => @user %> |
| 88 | 100 |
</div> |
| 89 | 101 | |
| test/functional/users_controller_test.rb | ||
|---|---|---|
| 110 | 110 |
get :show, :params => {:id => 2}
|
| 111 | 111 |
assert_response :success |
| 112 | 112 |
assert_select 'h2', :text => /John Smith/ |
| 113 | ||
| 114 |
# groups block should not be rendeder for users which are not part of any group |
|
| 115 |
assert_select 'div#groups', 0 |
|
| 113 | 116 |
end |
| 114 | 117 | |
| 115 | 118 |
def test_show_should_display_visible_custom_fields |
| ... | ... | |
| 204 | 207 |
end |
| 205 | 208 |
end |
| 206 | 209 | |
| 210 |
def test_show_user_should_list_user_groups |
|
| 211 |
@request.session[:user_id] = 1 |
|
| 212 |
get :show, :params => {:id => 8}
|
|
| 213 | ||
| 214 |
assert_select 'div#groups', 1 do |
|
| 215 |
assert_select 'h3', :text => 'Groups' |
|
| 216 |
assert_select 'li', 2 |
|
| 217 |
assert_select 'a[href=?]', '/groups/10/edit', :text => 'A Team' |
|
| 218 |
assert_select 'a[href=?]', '/groups/11/edit', :text => 'B Team' |
|
| 219 |
end |
|
| 220 |
end |
|
| 221 | ||
| 207 | 222 |
def test_new |
| 208 | 223 |
get :new |
| 209 | 224 |
assert_response :success |
| test/helpers/application_helper_test.rb | ||
|---|---|---|
| 1534 | 1534 |
end |
| 1535 | 1535 |
end |
| 1536 | 1536 | |
| 1537 |
def test_link_to_group_should_return_only_group_name_for_non_admin_users |
|
| 1538 |
group = Group.find(10) |
|
| 1539 |
assert_equal "A Team", link_to_group(group) |
|
| 1540 |
end |
|
| 1541 | ||
| 1542 |
def test_link_to_group_should_link_to_group_edit_page_for_admin_users |
|
| 1543 |
group = Group.find(10) |
|
| 1544 |
User.current = User.find(1) |
|
| 1545 |
result = link_to("A Team", "/groups/10/edit")
|
|
| 1546 |
assert_equal result, link_to_group(group) |
|
| 1547 |
end |
|
| 1548 | ||
| 1537 | 1549 |
def test_link_to_user_should_not_link_to_anonymous |
| 1538 | 1550 |
user = User.anonymous |
| 1539 | 1551 |
assert user.anonymous? |