annotate app/views/users/.svn/text-base/_memberships.rhtml.svn-base @ 8:0c83d98252d9 yuya

* Add custom repo prefix and proper auth realm, remove auth cache (seems like an unwise feature), pass DB handle around, various other bits of tidying
author Chris Cannam
date Thu, 12 Aug 2010 15:31:37 +0100
parents 513646585e45
children 1d32c0a0efbf
rev   line source
Chris@0 1 <% roles = Role.find_all_givable %>
Chris@0 2 <% projects = Project.active.find(:all, :order => 'lft') %>
Chris@0 3
Chris@0 4 <div class="splitcontentleft">
Chris@0 5 <% if @user.memberships.any? %>
Chris@0 6 <table class="list memberships">
Chris@0 7 <thead><tr>
Chris@0 8 <th><%= l(:label_project) %></th>
Chris@0 9 <th><%= l(:label_role_plural) %></th>
Chris@0 10 <th style="width:15%"></th>
Chris@0 11 <%= call_hook(:view_users_memberships_table_header, :user => @user )%>
Chris@0 12 </tr></thead>
Chris@0 13 <tbody>
Chris@0 14 <% @user.memberships.each do |membership| %>
Chris@0 15 <% next if membership.new_record? %>
Chris@0 16 <tr id="member-<%= membership.id %>" class="<%= cycle 'odd', 'even' %> class">
Chris@0 17 <td class="project"><%=h membership.project %></td>
Chris@0 18 <td class="roles">
Chris@0 19 <span id="member-<%= membership.id %>-roles"><%=h membership.roles.sort.collect(&:to_s).join(', ') %></span>
Chris@0 20 <% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @user, :membership_id => membership },
Chris@0 21 :html => { :id => "member-#{membership.id}-roles-form", :style => 'display:none;'}) do %>
Chris@0 22 <p><% roles.each do |role| %>
Chris@0 23 <label><%= check_box_tag 'membership[role_ids][]', role.id, membership.roles.include?(role),
Chris@0 24 :disabled => membership.member_roles.detect {|mr| mr.role_id == role.id && !mr.inherited_from.nil?} %> <%=h role %></label><br />
Chris@0 25 <% end %></p>
Chris@0 26 <%= hidden_field_tag 'membership[role_ids][]', '' %>
Chris@0 27 <p><%= submit_tag l(:button_change) %>
Chris@0 28 <%= link_to_function l(:button_cancel), "$('member-#{membership.id}-roles').show(); $('member-#{membership.id}-roles-form').hide(); return false;" %></p>
Chris@0 29 <% end %>
Chris@0 30 </td>
Chris@0 31 <td class="buttons">
Chris@0 32 <%= link_to_function l(:button_edit), "$('member-#{membership.id}-roles').hide(); $('member-#{membership.id}-roles-form').show(); return false;", :class => 'icon icon-edit' %>
Chris@0 33 <%= link_to_remote(l(:button_delete), { :url => { :controller => 'users', :action => 'destroy_membership', :id => @user, :membership_id => membership },
Chris@0 34 :method => :post },
Chris@0 35 :class => 'icon icon-del') if membership.deletable? %>
Chris@0 36 </td>
Chris@0 37 <%= call_hook(:view_users_memberships_table_row, :user => @user, :membership => membership, :roles => roles, :projects => projects )%>
Chris@0 38 </tr>
Chris@0 39 </tbody>
Chris@0 40 <% end; reset_cycle %>
Chris@0 41 </table>
Chris@0 42 <% else %>
Chris@0 43 <p class="nodata"><%= l(:label_no_data) %></p>
Chris@0 44 <% end %>
Chris@0 45 </div>
Chris@0 46
Chris@0 47 <div class="splitcontentright">
Chris@0 48 <% if projects.any? %>
Chris@0 49 <fieldset><legend><%=l(:label_project_new)%></legend>
Chris@0 50 <% remote_form_for(:membership, :url => { :action => 'edit_membership', :id => @user }) do %>
Chris@0 51 <%= select_tag 'membership[project_id]', options_for_membership_project_select(@user, projects) %>
Chris@0 52 <p><%= l(:label_role_plural) %>:
Chris@0 53 <% roles.each do |role| %>
Chris@0 54 <label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
Chris@0 55 <% end %></p>
Chris@0 56 <p><%= submit_tag l(:button_add) %></p>
Chris@0 57 <% end %>
Chris@0 58 </fieldset>
Chris@0 59 <% end %>
Chris@0 60 </div>