Project

General

Profile

Patch #25491 » list-of-role-members.patch

Anonymous, 2017-03-31 23:10

View differences:

app/controllers/roles_controller.rb Wed Mar 29 06:27:52 2017 +0000 → app/controllers/roles_controller.rb Fri Mar 31 17:06:38 2017 -0400
99 99
    redirect_to roles_path
100 100
  end
101 101

  
102
  def members
103
    @role = Role.find(params[:id])
104
    @projects_members = Member.joins(:roles, :user).where(
105
      :roles => {:id => @role}
106
    ).group(:users, :id).group_by(&:project)
107
  end
108

  
102 109
  def permissions
103 110
    @roles = Role.sorted.to_a
104 111
    @permissions = Redmine::AccessControl.permissions.select { |p| !p.public? }
app/views/roles/index.html.erb Wed Mar 29 06:27:52 2017 +0000 → app/views/roles/index.html.erb Fri Mar 31 17:06:38 2017 -0400
16 16
  <td class="name"><%= content_tag(role.builtin? ? 'em' : 'span', link_to(role.name, edit_role_path(role))) %></td>
17 17
  <td class="buttons">
18 18
    <%= reorder_handle(role) unless role.builtin? %>
19
    <%= link_to l(:label_member_plural), {:controller => 'roles', :action => 'members', :id => role.id}, :class => 'icon icon-user' unless role.members.count == 0 %>
19 20
    <%= link_to l(:button_copy), new_role_path(:copy => role), :class => 'icon icon-copy' %>
20 21
    <%= delete_link role_path(role) unless role.builtin? %>
21 22
  </td>
......
28 29

  
29 30
<%= javascript_tag do %>
30 31
  $(function() { $("table.roles tbody").positionedItems({items: ".givable"}); });
31
<% end %>
32
<% end %>
/dev/null Thu Jan 01 00:00:00 1970 +0000 → app/views/roles/members.html.erb Fri Mar 31 17:06:38 2017 -0400
1
<%= title [l(:label_role_plural), roles_path], @role.name, l(:label_member_plural) %>
2

  
3
<% if @projects_members.empty? %>
4

  
5
<p><%= l(:notice_file_not_found) %></p>
6

  
7
<% else %>
8

  
9
<% @projects_members.each do |project, members| next if members.count == 0 %>
10

  
11
<h3><%= project.name %></h3>
12
<div class="box tabular" id="members_list">
13
  <div class="splitcontent">
14
    <ul>
15
      <% members.each do |member| next if member.nil? or member.user.nil? %>
16
        <li><%= link_to_user(member.user) %></li>
17
      <% end %>
18
    </ul>
19
  </div>
20
</div>
21
<% end %>
22
<% end %>
config/routes.rb Wed Mar 29 06:27:52 2017 +0000 → config/routes.rb Fri Mar 31 17:06:38 2017 -0400
332 332
      match 'permissions', :via => [:get, :post]
333 333
    end
334 334
  end
335
  get '/roles/:id/members', :to => 'roles#members'
336

  
335 337
  resources :enumerations, :except => :show
336 338
  match 'enumerations/:type', :to => 'enumerations#index', :via => :get
337 339

  
public/stylesheets/application.css Wed Mar 29 06:27:52 2017 +0000 → public/stylesheets/application.css Fri Mar 31 17:06:38 2017 -0400
1302 1302

  
1303 1303
.contextual>*:not(:first-child), .buttons>.icon:not(:first-child) { margin-left: 5px; }
1304 1304

  
1305
#members_list ul {
1306
  -moz-column-count: 3;
1307
  -webkit-column-count: 3;
1308
  column-count: 3;
1309
  list-style-position: inside;
1310
}
1311

  
1305 1312
img.gravatar {
1306 1313
  vertical-align: middle;
1307 1314
  border-radius: 20%;
(1-1/7)