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 @ 1298:4f746d8966dd

History | View | Annotate | Download (2.84 KB)

1 0:513646585e45 Chris
<% roles = Role.find_all_givable %>
2 1295:622f24f53b42 Chris
<% projects = Project.active.all %>
3 0:513646585e45 Chris
4
<div class="splitcontentleft">
5
<% if @user.memberships.any? %>
6
<table class="list memberships">
7 909:cbb26bc654de Chris
  <thead><tr>
8
    <th><%= l(:label_project) %></th>
9
    <th><%= l(:label_role_plural) %></th>
10
    <th style="width:15%"></th>
11 0:513646585e45 Chris
      <%= call_hook(:view_users_memberships_table_header, :user => @user )%>
12 909:cbb26bc654de Chris
  </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 14:1d32c0a0efbf Chris
  <td class="project">
18
    <%= link_to_project membership.project %>
19
  </td>
20 0:513646585e45 Chris
  <td class="roles">
21
    <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
22 1115:433d4f72a19b Chris
    <%= 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 909:cbb26bc654de Chris
        <p><% roles.each do |role| %>
27 0:513646585e45 Chris
        <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role),
28 909:cbb26bc654de Chris
                                                           :disabled => membership.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br />
29 0:513646585e45 Chris
        <% end %></p>
30
        <%= hidden_field_tag 'membership[role_ids][]', '' %>
31
        <p><%= submit_tag l(:button_change) %>
32 1115:433d4f72a19b Chris
        <%= link_to_function l(:button_cancel),
33
                             "$('#member-#{membership.id}-roles').show(); $('#member-#{membership.id}-roles-form').hide(); return false;"
34
            %></p>
35 0:513646585e45 Chris
    <% end %>
36
  </td>
37
  <td class="buttons">
38 1115:433d4f72a19b Chris
      <%= link_to_function l(:button_edit),
39
                           "$('#member-#{membership.id}-roles').hide(); $('#member-#{membership.id}-roles-form').show(); return false;",
40
                           :class => 'icon icon-edit'
41
          %>
42
      <%= delete_link user_membership_path(@user, membership), :remote => true if membership.deletable? %>
43 0:513646585e45 Chris
  </td>
44
      <%= call_hook(:view_users_memberships_table_row, :user => @user, :membership => membership, :roles => roles, :projects => projects )%>
45 909:cbb26bc654de Chris
  </tr>
46 119:8661b858af72 Chris
  <% end; reset_cycle %>
47 909:cbb26bc654de Chris
  </tbody>
48 0:513646585e45 Chris
</table>
49
<% else %>
50
<p class="nodata"><%= l(:label_no_data) %></p>
51
<% end %>
52
</div>
53
54
<div class="splitcontentright">
55
<% if projects.any? %>
56
<fieldset><legend><%=l(:label_project_new)%></legend>
57 1115:433d4f72a19b Chris
<%= form_for(:membership, :remote => true, :url => user_memberships_path(@user)) do %>
58 0:513646585e45 Chris
<%= select_tag 'membership[project_id]', options_for_membership_project_select(@user, projects) %>
59
<p><%= l(:label_role_plural) %>:
60
<% roles.each do |role| %>
61
  <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
62
<% end %></p>
63
<p><%= submit_tag l(:button_add) %></p>
64
<% end %>
65
</fieldset>
66
<% end %>
67
</div>