修改了项目和课程里面成员配置显示错误
This commit is contained in:
parent
ac2b90ecfd
commit
09eb16ad9a
|
@ -164,8 +164,8 @@ class Role < ActiveRecord::Base
|
|||
end
|
||||
|
||||
# Find all the roles that can be given to a project member
|
||||
def self.find_all_givable
|
||||
Role.givable.all
|
||||
def self.find_all_givable
|
||||
Role.givable.all
|
||||
end
|
||||
|
||||
# Return the builtin 'non member' role. If the role doesn't exist,
|
||||
|
|
|
@ -1,52 +1,25 @@
|
|||
<%= error_messages_for 'member' %>
|
||||
<% roles = Role.find_all_givable
|
||||
<% if @project.project_type == 1 %>
|
||||
<% r = [] %>
|
||||
<% for i in 3..5 %>
|
||||
<% roles = Role.givable.all[i]
|
||||
members = @project.member_principals.includes(:roles, :principal).all.sort %>
|
||||
<!--Modified by young-->
|
||||
<div class="splitcontent">
|
||||
<% if roles.any? %>
|
||||
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
|
||||
<fieldset><legend><%=l(:label_member_new)%></legend>
|
||||
<div class="splitcontentleft">
|
||||
<p style="width:80%;"><span><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></span></p>
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_principals_for_new_members(@project) %>
|
||||
</div>
|
||||
<p style="margin-bottom:5px;margin-top:5px;"><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
|
||||
</div>
|
||||
<div class="splitcontentright" style="width:30%;margin-top: 60px;">
|
||||
<p><%= l(:label_role_plural) %>:
|
||||
<% roles.each do |role| %>
|
||||
<label>
|
||||
<% if @project.project_type == 1 %>
|
||||
<% if role == Role.find(3) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>老师
|
||||
<% elsif role == Role.find(5) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>学生
|
||||
<% elsif role == Role.find(7) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>助教
|
||||
<% elsif role == Role.find(4)%>
|
||||
<% else %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %><%=h role %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if role == Role.find(7) %>
|
||||
<% else %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %><%=h role %>
|
||||
<% end %>
|
||||
<% end %></label>
|
||||
<% end %></p>
|
||||
</div>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<% r << roles %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% r = [] %>
|
||||
<% for i in 0..2 %>
|
||||
<% roles = Role.givable.all[i]
|
||||
members = @project.member_principals.includes(:roles, :principal).all.sort %>
|
||||
<% r << roles %>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
<!--ended by young-->
|
||||
<div class="splitcontent">
|
||||
<div class="splitcontentleft">
|
||||
<% if members.any? %>
|
||||
<table class="list members">
|
||||
<thead><tr>
|
||||
<th><%= l(:label_user) %> / <%= l(:label_group) %></th>
|
||||
<th><%= l(:label_user) %></th>
|
||||
<th><%= l(:label_role_plural) %></th>
|
||||
<th style="width:15%"></th>
|
||||
<%= call_hook(:view_projects_settings_members_table_header, :project => @project) %>
|
||||
|
@ -57,64 +30,14 @@
|
|||
<tr id="member-<%= member.id %>" class="<%= cycle 'odd', 'even' %> member">
|
||||
<td class="<%= member.principal.class.name.downcase %>"><%= link_to_user member.principal %></td>
|
||||
<td class="roles">
|
||||
<span id="member-<%= member.id %>-roles">
|
||||
<% if @project.project_type == 1 %>
|
||||
|
||||
<% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
|
||||
老师
|
||||
<% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
|
||||
学生
|
||||
<% elsif member.roles.sort.collect(&:to_s).join(', ') =='TA' %>
|
||||
助教
|
||||
<% else %>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% else %>
|
||||
|
||||
<% if member.roles.sort.collect(&:to_s).join(', ') =='Manager' %>
|
||||
Manager
|
||||
<% elsif member.roles.sort.collect(&:to_s).join(', ') =='Developer' %>
|
||||
Developer
|
||||
<% elsif member.roles.sort.collect(&:to_s).join(', ') =='Reporter' %>
|
||||
Reporter
|
||||
<% else %>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
|
||||
<span id="member-<%= member.id %>-roles"><%=h member.roles.sort.collect(&:to_s).join(', ') %></span>
|
||||
<%= form_for(member, {:as => :membership, :remote => true, :url => membership_path(member),
|
||||
:method => :put,
|
||||
:html => { :id => "member-#{member.id}-roles-form", :class => 'hol' }}
|
||||
) do |f| %>
|
||||
|
||||
<p><% roles.each do |role| %>
|
||||
<% if @project.project_type ==1 %>
|
||||
|
||||
<% if role == Role.find(3) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>老师
|
||||
<% elsif role == Role.find(5) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>学生
|
||||
<% elsif role == Role.find(7) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>助教
|
||||
<% elsif role == Role.find(4) %>
|
||||
<% else %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<label>
|
||||
<% if role == Role.find(3) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>Manager
|
||||
<% elsif role == Role.find(5) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>Reporter
|
||||
<% elsif role == Role.find(4) %>
|
||||
<%= check_box_tag 'membership[role_ids][]', role.id %>Developer
|
||||
<% elsif role == Role.find(7) %>
|
||||
<% else %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</label>
|
||||
<p><% r.each do |role| %>
|
||||
<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 />
|
||||
<% end %></p>
|
||||
<%= hidden_field_tag 'membership[role_ids][]', '' %>
|
||||
<p><%= submit_tag l(:button_change), :class => "small" %>
|
||||
|
@ -141,4 +64,26 @@
|
|||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="splitcontentright">
|
||||
<% if r.any? %>
|
||||
<%= form_for(@member, {:as => :membership, :url => project_memberships_path(@project), :remote => true, :method => :post}) do |f| %>
|
||||
<fieldset><legend><%=l(:label_member_new)%></legend>
|
||||
|
||||
<p><%= label_tag "principal_search", l(:label_principal_search) %><%= text_field_tag 'principal_search', nil %></p>
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_project_memberships_path(@project, :format => 'js') }')" %>
|
||||
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_principals_for_new_members(@project) %>
|
||||
</div>
|
||||
|
||||
<p style="padding-top: 5px"><%= l(:label_role_plural) %>:
|
||||
<% r.each do |role| %>
|
||||
|
||||
<label><%= check_box_tag 'membership[role_ids][]', role.id %> <%=h role %></label>
|
||||
<% end %></p>
|
||||
|
||||
<p><%= submit_tag l(:button_add), :id => 'member-add-submit' %></p>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue