Index: vendor/plugins/redmine_smile/app/views/projects/settings/_members.rhtml =================================================================== --- vendor/plugins/redmine_smile/app/views/projects/settings/_members.rhtml (révision 1587) +++ vendor/plugins/redmine_smile/app/views/projects/settings/_members.rhtml (copie de travail) @@ -1,8 +1,8 @@ <%= error_messages_for 'member' %> <% roles = Role.find_all_givable - members = @project.member_principals.includes(:member_roles, :roles, :principal).all.sort %> + roles_no_obsolete = Role.exclude_obsolete(roles, params[:debug_old_roles].present?) + members = @project.member_principals.includes(:member_roles, :roles, :principal).all.sort %>
<% if members.any? %> @@ -14,10 +14,33 @@ <%= call_hook(:view_projects_settings_members_table_header, :project => @project) %> +<% + group_member_role_by_id = {} + members.each do |member| + next if member.new_record? + + member.member_roles.each{|mr| + next if mr.inherited_from.present? + next if mr.member.principal.is_a?(::User) + next if group_member_role_by_id[mr.id].present? + group_member_role_by_id[mr.id] = mr + } + end +-%> <% members.each do |member| %> - <% next if member.new_record? %> + <% next if member.new_record? + label_group = '' + member.member_roles.each{|mr| + if mr.inherited_from.present? + next if group_member_role_by_id[mr.inherited_from].nil? + label_group = " (#{group_member_role_by_id[mr.inherited_from].member.principal.lastname})" + + break + end + } + %> - <%= link_to_user member.principal %> + <%= link_to_user member.principal %><%= label_group %> <%=h member.roles.sort.collect(&:to_s).join(', ') %>