|
|
|
@ -52,50 +52,52 @@ See doc/COPYRIGHT.rdoc for more details. |
|
|
|
|
<% if @members.any? %> |
|
|
|
|
<% authorized = authorize_for('members', 'update') %> |
|
|
|
|
<table class="list members"> |
|
|
|
|
<thead><tr> |
|
|
|
|
<th><%= User.model_name.human %> / <%= Group.model_name.human %></th> |
|
|
|
|
<th><%= l(:label_role_plural) %></th> |
|
|
|
|
<th style="width:15%"></th> |
|
|
|
|
<%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> |
|
|
|
|
</tr></thead> |
|
|
|
|
<thead> |
|
|
|
|
<tr> |
|
|
|
|
<th><%= User.model_name.human %> / <%= Group.model_name.human %></th> |
|
|
|
|
<th><%= l(:label_role_plural) %></th> |
|
|
|
|
<th style="width:15%"></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="<%= cycle 'odd', 'even' %> member"> |
|
|
|
|
<td class="<%= member.principal.class.name.downcase %> <%= user_status_class member.principal%>" title="<%= user_status_i18n member.principal%>"><%= link_to_user member.principal %></td> |
|
|
|
|
<td class="roles"> |
|
|
|
|
<span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span> |
|
|
|
|
<% if authorized %> |
|
|
|
|
<%= form_for(member, :url => {:controller => '/members', |
|
|
|
|
:action => 'update', |
|
|
|
|
:id => member, |
|
|
|
|
:page => params[:page]}, |
|
|
|
|
:method => :put, |
|
|
|
|
:remote => true, |
|
|
|
|
:html => { :id => "member-#{member.id}-roles-form", |
|
|
|
|
:class => 'hol', |
|
|
|
|
:style => 'display:none' }) do |f| %> |
|
|
|
|
<p><% roles.each do |role| %> |
|
|
|
|
<label><%= check_box_tag 'member[role_ids][]', role.id, member.roles.include?(role), |
|
|
|
|
:disabled => member.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br /> |
|
|
|
|
<% end %></p> |
|
|
|
|
<%= hidden_field_tag 'member[role_ids][]', '' %> |
|
|
|
|
<p><%= submit_tag l(:button_change), :class => "small" %> |
|
|
|
|
<%= link_to_function l(:button_cancel), "$('member-#{member.id}-roles').show(); $('member-#{member.id}-roles-form').hide(); return false;" %></p> |
|
|
|
|
<% end %> |
|
|
|
|
<td class="buttons"> |
|
|
|
|
<%= link_to_function l(:button_edit), "$('member-#{member.id}-roles').hide(); $('member-#{member.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %> |
|
|
|
|
<%= link_to(l(:button_delete), {:controller => '/members', :action => 'destroy', :id => member, :page => params[:page]}, |
|
|
|
|
:method => :delete, |
|
|
|
|
:remote => true, |
|
|
|
|
:confirm => ((!User.current.admin? && member.include?(User.current)) ? l(:text_own_membership_delete_confirmation) : nil), |
|
|
|
|
:title => l(:button_delete), :class => 'icon icon-delete') if member.deletable? %> |
|
|
|
|
</td> |
|
|
|
|
<% end %> |
|
|
|
|
</td> |
|
|
|
|
<%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> |
|
|
|
|
</tr> |
|
|
|
|
<% end; reset_cycle %> |
|
|
|
|
<% @members.each do |member| %> |
|
|
|
|
<% next if member.new_record? %> |
|
|
|
|
<tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member"> |
|
|
|
|
<td class="<%= member.principal.class.name.downcase %> <%= 'icon-context icon-group' if member.principal.class.name.downcase == 'group' %> <%= user_status_class member.principal%>" title="<%= user_status_i18n member.principal%>"><%= link_to_user member.principal %></td> |
|
|
|
|
<td class="roles"> |
|
|
|
|
<span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span> |
|
|
|
|
<% if authorized %> |
|
|
|
|
<%= form_for(member, :url => {:controller => '/members', |
|
|
|
|
:action => 'update', |
|
|
|
|
:id => member, |
|
|
|
|
:page => params[:page]}, |
|
|
|
|
:method => :put, |
|
|
|
|
:remote => true, |
|
|
|
|
:html => { :id => "member-#{member.id}-roles-form", |
|
|
|
|
:class => 'hol', |
|
|
|
|
:style => 'display:none' }) do |f| %> |
|
|
|
|
<p><% roles.each do |role| %> |
|
|
|
|
<label><%= check_box_tag 'member[role_ids][]', role.id, member.roles.include?(role), |
|
|
|
|
:disabled => member.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br /> |
|
|
|
|
<% end %></p> |
|
|
|
|
<%= hidden_field_tag 'member[role_ids][]', '' %> |
|
|
|
|
<p><%= submit_tag l(:button_change), :class => "small" %> |
|
|
|
|
<%= link_to_function l(:button_cancel), "$('member-#{member.id}-roles').show(); $('member-#{member.id}-roles-form').hide(); return false;" %></p> |
|
|
|
|
<% end %> |
|
|
|
|
<td class="buttons"> |
|
|
|
|
<%= link_to_function l(:button_edit), "$('member-#{member.id}-roles').hide(); $('member-#{member.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %> |
|
|
|
|
<%= link_to(l(:button_delete), {:controller => '/members', :action => 'destroy', :id => member, :page => params[:page]}, |
|
|
|
|
:method => :delete, |
|
|
|
|
:remote => true, |
|
|
|
|
:confirm => ((!User.current.admin? && member.include?(User.current)) ? l(:text_own_membership_delete_confirmation) : nil), |
|
|
|
|
:title => l(:button_delete), :class => 'icon icon-delete') if member.deletable? %> |
|
|
|
|
</td> |
|
|
|
|
<% end %> |
|
|
|
|
</td> |
|
|
|
|
<%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> |
|
|
|
|
</tr> |
|
|
|
|
<% end; reset_cycle %> |
|
|
|
|
</tbody> |
|
|
|
|
</table> |
|
|
|
|
|
|
|
|
|