Patch #31066 » 31066-indent-subproject.patch
app/views/users/show.html.erb | ||
---|---|---|
77 | 77 | |
78 | 78 |
<% unless @memberships.empty? %> |
79 | 79 |
<h3><%=l(:label_project_plural)%></h3> |
80 |
<ul> |
|
81 |
<% for membership in @memberships %> |
|
82 |
<li><%= link_to_project(membership.project) %> |
|
83 |
(<%= membership.roles.sort.collect(&:to_s).join(', ') %>, <%= format_date(membership.created_on) %>)</li> |
|
80 |
<table class="list memberships"> |
|
81 |
<thead> |
|
82 |
<tr> |
|
83 |
<th><%=l(:label_project)%></th> |
|
84 |
<th><%=l(:label_role_plural)%></th> |
|
85 |
<th><%=l(:label_registered_on)%></th> |
|
86 |
</tr> |
|
87 |
</thead> |
|
88 |
<tbody> |
|
89 |
<% project_tree(@memberships.collect(&:project), :init_level => true) do |project, level| %> |
|
90 |
<% membership = @memberships.select{|m|m.project==project}.first %> |
|
91 |
<tr class="<%= project.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>"> |
|
92 |
<td class="name"><span><%= link_to_project(project) %></span></td> |
|
93 |
<td class="roles"><%= membership.roles.sort.collect(&:to_s).join(', ') %></td> |
|
94 |
<td><%= format_date(membership.created_on) %></td> |
|
95 |
</tr> |
|
84 | 96 |
<% end %> |
85 |
</ul> |
|
97 |
</tbody> |
|
98 |
</table> |
|
86 | 99 |
<% end %> |
87 | 100 | |
88 | 101 |
<% if (User.current == @user || User.current.admin?) && @user.groups.any? %> |
test/functional/users_controller_test.rb | ||
---|---|---|
173 | 173 |
get :show, :params => {:id => 2} |
174 | 174 |
assert_response :success |
175 | 175 | |
176 |
# membership of private project admin can see |
|
177 |
assert_select 'li a', :text => "OnlineStore" |
|
176 |
assert_select 'table.list.memberships>tbody' do |
|
177 |
assert_select 'tr:nth-of-type(1)' do |
|
178 |
assert_select 'td:nth-of-type(1)>a', :text => 'eCookbook' |
|
179 |
assert_select 'td:nth-of-type(2)', :text => 'Manager' |
|
180 |
end |
|
181 |
assert_select 'tr:nth-of-type(2)' do |
|
182 |
assert_select 'td:nth-of-type(1)>a', :text => 'OnlineStore' |
|
183 |
assert_select 'td:nth-of-type(2)', :text => 'Developer' |
|
184 |
end |
|
185 |
assert_select 'tr:nth-of-type(3)' do |
|
186 |
assert_select 'td:nth-of-type(1)>a', :text => 'Private child of eCookbook' |
|
187 |
assert_select 'td:nth-of-type(2)', :text => 'Manager' |
|
188 |
end |
|
189 |
end |
|
178 | 190 |
end |
179 | 191 | |
180 | 192 |
def test_show_current_should_require_authentication |