You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

_memberships.html.erb 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <% roles = Role.find_all_givable %>
  2. <% projects = Project.active.find(:all, :order => 'lft') %>
  3. <div class="splitcontentleft">
  4. <% if @group.memberships.any? %>
  5. <table class="list memberships">
  6. <thead><tr>
  7. <th><%= l(:label_project) %></th>
  8. <th><%= l(:label_role_plural) %></th>
  9. <th style="width:15%"></th>
  10. </tr></thead>
  11. <tbody>
  12. <% @group.memberships.each do |membership| %>
  13. <% next if membership.new_record? %>
  14. <tr id="member-<%= membership.id %>" class="<%= cycle 'odd', 'even' %> class">
  15. <td class="project"><%=h membership.project %></td>
  16. <td class="roles">
  17. <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
  18. <%= form_for(:membership, :remote => true,
  19. :url => { :action => 'edit_membership', :id => @group, :membership_id => membership },
  20. :html => { :id => "member-#{membership.id}-roles-form", :style => 'display:none;'}) do %>
  21. <p><% roles.each do |role| %>
  22. <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role) %> <%=h role %></label><br />
  23. <% end %></p>
  24. <p><%= submit_tag l(:button_change) %>
  25. <%= link_to_function(
  26. l(:button_cancel),
  27. "$('member-#{membership.id}-roles').show(); $('member-#{membership.id}-roles-form').hide(); return false;"
  28. ) %></p>
  29. <% end %>
  30. </td>
  31. <td class="buttons">
  32. <%= link_to_function(
  33. l(:button_edit),
  34. "$('member-#{membership.id}-roles').hide(); $('member-#{membership.id}-roles-form').show(); return false;",
  35. :class => 'icon icon-edit'
  36. ) %>
  37. <%= link_to_remote(
  38. l(:button_delete),
  39. { :url => { :controller => 'groups',
  40. :action => 'destroy_membership',
  41. :id => @group,
  42. :membership_id => membership },
  43. :method => :post },
  44. :class => 'icon icon-del' ) %>
  45. </td>
  46. </tr>
  47. <% end; reset_cycle %>
  48. </tbody>
  49. </table>
  50. <% else %>
  51. <p class="nodata"><%= l(:label_no_data) %></p>
  52. <% end %>
  53. </div>
  54. <div class="splitcontentright">
  55. <% if projects.any? %>
  56. <fieldset><legend><%=l(:label_project_new)%></legend>
  57. <%= form_for(:membership, :remote => true, :url => { :action => 'edit_membership', :id => @group }) do %>
  58. <%= label_tag "membership_project_id", l(:description_choose_project), :class => "hidden-for-sighted" %>
  59. <%= select_tag 'membership[project_id]', options_for_membership_project_select(@group, projects) %>
  60. <p><%= l(:label_role_plural) %>:
  61. <% roles.each do |role| %>
  62. <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
  63. <% end %></p>
  64. <p><%= submit_tag l(:button_add) %></p>
  65. <% end %>
  66. </fieldset>
  67. <% end %>
  68. </div>