<%= error_messages_for 'member' %> <% roles = Role.find_all_givable %> <% users = User.find_active(:all).sort - @project.users %> <% # members sorted by role position members = @project.members.find(:all, :include => [:role, :user]).sort %> <% if members.any? %> <table class="list"> <thead> <th><%= l(:label_user) %></th> <th><%= l(:label_role) %></th> <th style="width:15%"></th> </thead> <tbody> <% members.each do |member| %> <% next if member.new_record? %> <tr class="<%= cycle 'odd', 'even' %>"> <td><%= member.name %></td> <td align="center"> <% if authorize_for('members', 'edit') %> <% remote_form_for(:member, member, :url => {:controller => 'members', :action => 'edit', :id => member}, :method => :post) do |f| %> <%= f.select :role_id, roles.collect{|role| [role.name, role.id]}, {}, :class => "small" %> <%= submit_tag l(:button_change), :class => "small" %> <% end %> <% end %> </td> <td align="center"> <%= link_to_remote l(:button_delete), { :url => {:controller => 'members', :action => 'destroy', :id => member}, :method => :post }, :title => l(:button_delete), :class => 'icon icon-del' %> </td> </tr> </tbody> <% end; reset_cycle %> </table> <% else %> <p class="nodata"><%= l(:label_no_data) %></p> <% end %> <% if authorize_for('members', 'new') && !users.empty? %> <% remote_form_for(:member, @member, :url => {:controller => 'members', :action => 'new', :id => @project}, :method => :post) do |f| %> <p><label for="member_user_id"><%=l(:label_member_new)%></label><br /> <%= f.select :user_id, users.collect{|user| [user.name, user.id]} %> <%= l(:label_role) %>: <%= f.select :role_id, roles.collect{|role| [role.name, role.id]}, :selected => nil %> <%= submit_tag l(:button_add) %></p> <% end %> <% end %>