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