Files
Redmine/app/views/projects/settings/_members.html.erb
Go MAEDA 86754ba098 CSV export of project memberships (#37480).
Patch by Mizuki ISHIKAWA (user:ishikawa999).


git-svn-id: https://svn.redmine.org/redmine/trunk@24487 e93f8b46-1217-0410-a6f0-8f06a7374b81
2026-03-11 10:19:50 +00:00

64 lines
2.6 KiB
Plaintext

<% members = @project.memberships.preload(:project).sorted.to_a %>
<% if User.current.admin? %>
<div class="contextual"><%= link_to sprite_icon('settings', l(:label_administration)), users_path, :class => "icon icon-settings" %></div>
<% end %>
<p><%= link_to sprite_icon('add', l(:label_member_new)), new_project_membership_path(@project), :remote => true, :class => "icon icon-add" %></p>
<% if members.any? %>
<table class="list members">
<thead>
<tr>
<th><%= l(:label_user) %> / <%= l(:label_group) %></th>
<th><%= l(:label_role_plural) %></th>
<th></th>
<%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
</tr>
</thead>
<tbody>
<% members.each do |member| %>
<% next if member.new_record? %>
<tr id="member-<%= member.id %>" class="member">
<td class="name">
<span class="icon">
<% if member.principal %>
<%= principal_icon(member.principal) %>
<%= link_to_user member.principal %>
<% end %>
</span>
</td>
<td class="roles">
<span id="member-<%= member.id %>-roles"><%= member.roles.sort.collect(&:to_s).join(', ') %></span>
<div id="member-<%= member.id %>-form"></div>
</td>
<td class="buttons">
<%= link_to sprite_icon('edit', l(:button_edit)),
edit_membership_path(member),
:remote => true,
:class => 'icon icon-edit' %>
<%= remove_link membership_path(member),
:remote => true,
:data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %>
</td>
<%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>
</tr>
<% end %>
</tbody>
</table>
<% other_formats_links do |f| %>
<%= f.link_to_with_query_parameters "CSV", {}, :onclick => "showModal('csv-export-options', '330px'); return false;" %>
<% end %>
<div id="csv-export-options" style="display: none;">
<h3 class="title"><%= l(:label_export_options, :export_format => 'CSV') %></h3>
<%= form_tag(project_memberships_path(project_id: @project.id, format: 'csv'), :method => :get, :id => 'csv-export-form') do %>
<%= export_csv_encoding_select_tag %>
<p class="buttons">
<%= submit_tag l(:button_export), :name => nil, :onclick => 'hideModal(this);', :data => {:disable_with => false} %>
<%= link_to_function l(:button_cancel), 'hideModal(this);' %>
</p>
<% end %>
</div>
<% else %>
<p class="nodata"><%= l(:label_no_data) %></p>
<% end %>