<% roles = Role.find_all_givable %> <% projects = Project.active.find(:all, :order => 'lft') %>
<% if @user.memberships.any? %> <%= call_hook(:view_users_memberships_table_header, :user => @user )%> <% @user.memberships.each do |membership| %> <% next if membership.new_record? %> <%= call_hook(:view_users_memberships_table_row, :user => @user, :membership => membership, :roles => roles, :projects => projects )%> <% end; reset_cycle %>
<%= l(:label_project) %> <%= l(:label_role_plural) %>
<%= link_to_project membership.project %> <%=h membership.roles.sort.collect(&:to_s).join(', ') %> <% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @user, :membership_id => membership }, :html => { :id => "member-#{membership.id}-roles-form", :style => 'display:none;'}) do %>

<% roles.each do |role| %>
<% end %>

<%= hidden_field_tag 'membership[role_ids][]', '' %>

<%= submit_tag l(:button_change) %> <%= link_to_function l(:button_cancel), "$('member-#{membership.id}-roles').show(); $('member-#{membership.id}-roles-form').hide(); return false;" %>

<% end %>
<%= link_to_function l(:button_edit), "$('member-#{membership.id}-roles').hide(); $('member-#{membership.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %> <%= link_to_remote(l(:button_delete), { :url => { :controller => 'users', :action => 'destroy_membership', :id => @user, :membership_id => membership }, :method => :post }, :class => 'icon icon-del') if membership.deletable? %>
<% else %>

<%= l(:label_no_data) %>

<% end %>
<%= render :partial => 'members/membership_assignment', :locals => {:principal => @user, :projects => projects - @user.projects, :roles => roles } %>