| 17 |
17 |
<td class="<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
|
| 18 |
18 |
<td class="roles">
|
| 19 |
19 |
<span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span>
|
| 20 |
|
<% remote_form_for(:member, member, :url => {:controller => 'members', :action => 'edit', :id => member},
|
| 21 |
|
:method => :post, :html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }) do |f| %>
|
|
20 |
<%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member),
|
|
21 |
:method => :put,
|
|
22 |
:html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }}
|
|
23 |
) do |f| %>
|
| 22 |
24 |
<p><% roles.each do |role| %>
|
| 23 |
|
<label><%= check_box_tag 'member[role_ids][]', role.id, member.roles.include?(role), :disabled => member.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br />
|
|
25 |
<label><%= check_box_tag 'membership[role_ids][]', role.id, member.roles.include?(role), :disabled => member.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br />
|
| 24 |
26 |
<% end %></p>
|
| 25 |
|
<%= hidden_field_tag 'member[role_ids][]', '' %>
|
|
27 |
<%= hidden_field_tag 'membership[role_ids][]', '' %>
|
| 26 |
28 |
<p><%= submit_tag l(:button_change), :class => "small" %>
|
| 27 |
|
<%= link_to_function l(:button_cancel), "$('member-#{member.id}-roles').show(); $('member-#{member.id}-roles-form').hide(); return false;" %></p>
|
|
29 |
<%= link_to_function l(:button_cancel),
|
|
30 |
"$('#member-#{member.id}-roles').show(); $('#member-#{member.id}-roles-form').hide(); return false;"
|
|
31 |
%></p>
|
| 28 |
32 |
<% end %>
|
| 29 |
33 |
</td>
|
| 30 |
34 |
<td class="buttons">
|
| 31 |
|
<%= link_to_function l(:button_edit), "$('member-#{member.id}-roles').hide(); $('member-#{member.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %>
|
| 32 |
|
<%= link_to_remote(l(:button_delete), { :url => {:controller => 'members', :action => 'destroy', :id => member},
|
| 33 |
|
:method => :post,
|
| 34 |
|
:confirm => (!User.current.admin? && member.include?(User.current) ? l(:text_own_membership_delete_confirmation) : nil)
|
| 35 |
|
}, :title => l(:button_delete),
|
| 36 |
|
:class => 'icon icon-del') if member.deletable? %>
|
|
35 |
<%= link_to_function l(:button_edit),
|
|
36 |
"$('#member-#{member.id}-roles').hide(); $('#member-#{member.id}-roles-form').show(); return false;",
|
|
37 |
:class => 'icon icon-edit' %>
|
|
38 |
<%= delete_link membership_path(member),
|
|
39 |
:data => (!User.current.admin? && member.include?(User.current) ? {:confirm => l(:text_own_membership_delete_confirmation)} : {}) if member.deletable? %>
|
| 37 |
40 |
</td>
|
| 38 |
41 |
</tr>
|
| 39 |
42 |
<% end; reset_cycle %>
|
| ... | ... | |
| 47 |
50 |
<% principals = Principal.active.find(:all, :limit => 100, :order => 'type, login, lastname ASC') - @project.principals %>
|
| 48 |
51 |
|
| 49 |
52 |
<% if roles.any? && principals.any? %>
|
| 50 |
|
<% remote_form_for(:member, @member, :url => {:controller => 'members', :action => 'new', :id => @project}, :method => :post,
|
| 51 |
|
:loading => '$(\'member-add-submit\').disable();',
|
| 52 |
|
:complete => 'if($(\'member-add-submit\')) $(\'member-add-submit\').enable();') do |f| %>
|
|
53 |
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :method => :post}) do |f| %>
|
| 53 |
54 |
<h3><%=l(:label_member_new)%></h3>
|
| 54 |
55 |
|
| 55 |
56 |
<p><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></p>
|
| 56 |
|
<%= observe_field(:principal_search,
|
| 57 |
|
:frequency => 0.5,
|
| 58 |
|
:update => :principals,
|
| 59 |
|
:url => { :controller => 'members', :action => 'autocomplete_for_member', :id => @project },
|
| 60 |
|
:with => 'q')
|
| 61 |
|
%>
|
|
57 |
<%= javascript_tag "observeSearchfield('principal_search', 'principals', '#{ escape_javascript autocomplete_project_memberships_path(@project) }')" %>
|
| 62 |
58 |
|
| 63 |
59 |
<div id="principals">
|
| 64 |
60 |
<% if params[:q] && params[:q].length > 1 %>
|
| 65 |
|
<%= principals_check_box_tags 'member[user_ids][]', @principals %>
|
|
61 |
<%= principals_check_box_tags 'membership[user_ids][]', @principals %>
|
| 66 |
62 |
<% end %>
|
| 67 |
63 |
</div>
|
| 68 |
64 |
|
| 69 |
65 |
<p><%= l(:label_set_role_plural) %>:</p>
|
| 70 |
66 |
<% roles.each do |role| %>
|
| 71 |
|
<label><%= check_box_tag 'member[role_ids][]', role.id %> <%=h role %> </label><div style="margin-left: 2em; margin-bottom: 0.5em"><i><%=l( 'label_' + role.name.downcase + "_description").to_sym %></i></div>
|
|
67 |
<label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %> </label><div style="margin-left: 2em; margin-bottom: 0.5em"><i><%=l( 'label_' + role.name.downcase + "_description").to_sym %></i></div>
|
| 72 |
68 |
<% end %>
|
| 73 |
69 |
|
| 74 |
70 |
<p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
|