To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / app / views / users / _memberships.html.erb @ 1531:ae8145b28b2b

History | View | Annotate | Download (2.93 KB)

1
<% roles = Role.find_all_givable %>
2
<% projects = Project.active.all %>
3

    
4
<div class="splitcontentleft">
5
<% if @user.memberships.any? %>
6
<table class="list memberships">
7
  <thead><tr>
8
    <th><%= l(:label_project) %></th>
9
    <th><%= l(:label_role_plural) %></th>
10
    <th style="width:15%"></th>
11
      <%= call_hook(:view_users_memberships_table_header, :user => @user )%>
12
  </tr></thead>
13
  <tbody>
14
  <% @user.memberships.each do |membership| %>
15
  <% next if membership.new_record? %>
16
  <tr id="member-<%= membership.id %>" class="<%= cycle 'odd', 'even' %> class">
17
  <td class="project">
18
    <%= link_to_project membership.project %>
19
  </td>
20
  <td class="roles">
21
    <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
22
    <%= form_for(:membership, :remote => true,
23
                 :url => user_membership_path(@user, membership), :method => :put,
24
                 :html => {:id => "member-#{membership.id}-roles-form",
25
                           :style => 'display:none;'}) do %>
26
        <p><% roles.each do |role| %>
27
        <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role),
28
                                                           :disabled => membership.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?},
29
                                                           :id => nil %> <%=h role %></label><br />
30
        <% end %></p>
31
        <%= hidden_field_tag 'membership[role_ids][]', '' %>
32
        <p><%= submit_tag l(:button_change) %>
33
        <%= link_to_function l(:button_cancel),
34
                             "$('#member-#{membership.id}-roles').show(); $('#member-#{membership.id}-roles-form').hide(); return false;"
35
            %></p>
36
    <% end %>
37
  </td>
38
  <td class="buttons">
39
      <%= link_to_function l(:button_edit),
40
                           "$('#member-#{membership.id}-roles').hide(); $('#member-#{membership.id}-roles-form').show(); return false;",
41
                           :class => 'icon icon-edit'
42
          %>
43
      <%= delete_link user_membership_path(@user, membership), :remote => true if membership.deletable? %>
44
  </td>
45
      <%= call_hook(:view_users_memberships_table_row, :user => @user, :membership => membership, :roles => roles, :projects => projects )%>
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

    
55
<div class="splitcontentright">
56
<% if projects.any? %>
57
<fieldset><legend><%=l(:label_project_new)%></legend>
58
<%= form_for(:membership, :remote => true, :url => user_memberships_path(@user)) do %>
59
<%= select_tag 'membership[project_id]', options_for_membership_project_select(@user, projects) %>
60
<p><%= l(:label_role_plural) %>:
61
<% roles.each do |role| %>
62
  <label><%= check_box_tag 'membership[role_ids][]', role.id, false, :id => nil %> <%=h role %></label>
63
<% end %></p>
64
<p><%= submit_tag l(:button_add) %></p>
65
<% end %>
66
</fieldset>
67
<% end %>
68
</div>