修复项目列表成员显示bug

exceptionHandle
nieguanghui 12 years ago
parent 21ffbe637e
commit 39580a04a2

@ -20,6 +20,7 @@ class Member < ActiveRecord::Base
belongs_to :principal, :foreign_key => 'user_id' belongs_to :principal, :foreign_key => 'user_id'
has_many :member_roles, :dependent => :destroy has_many :member_roles, :dependent => :destroy
has_many :roles, :through => :member_roles has_many :roles, :through => :member_roles
belongs_to :project belongs_to :project
validates_presence_of :principal, :project validates_presence_of :principal, :project

@ -1,4 +1,5 @@
class UserGrade < ActiveRecord::Base class UserGrade < ActiveRecord::Base
# attr_accessible :title, :body # attr_accessible :title, :body
attr_accessible :user_id, :project_id, :grade
belongs_to :project belongs_to :project
end end

@ -24,15 +24,11 @@
</div> </div>
<% else%> <% else%>
<%= content_tag "div", content_tag("p", member.roles.sort.collect(&:to_s).join(', ')), :class => "clear avatar_name" %> <%= content_tag "div", content_tag("p", member.roles.sort.collect(&:to_s).join(', ')), :class => "clear avatar_name" %>
<% users.each do |user|%>
<% if user[:user_id] == member[:user_id]%>
<div class="clear avatar_user"> <div class="clear avatar_user">
<p> <p>
<%= l(:label_user_for_project_grade) %>: <span style="color:red"><%= user[:grade] %></span> <%= l(:label_user_for_project_grade) %>: <span style="color:red"><%= UserGrade.find_by_user_id_and_project_id(member[:user_id], @project.id).grade %></span>
</p> </p>
</div> </div>
<% end %>
<% end %>
<% end %> <% end %>
<%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %>

@ -8,23 +8,25 @@
<% roles = Role.find_all_givable <% roles = Role.find_all_givable
members = @project.member_principals.includes(:roles, :principal).all.sort %> members = @project.member_principals.includes(:roles, :principal).all.sort %>
<% if @project.project_type == 1 %> <% if @project.project_type == 1 %>
<%= render :partial => 'member_list', :locals => {:members => members} %>
<% else %> <% else %>
<% users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}")%> <% users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}")%>
<% if users %> <% if users %>
<% users.sort {|a,b| a[:grade] <=> b[:grade]} %> <% users = users.sort {|a,b| b[:grade] <=> a[:grade]} %>
<% temp = [] %> <% temp = [] %>
<% users.each do |user|%> <% users.each do |user|%>
<% members.each do |member|%> <% members.each do |member|%>
<% if member[:user_id] == user[:user_id] %> <% if member[:user_id] == user[:user_id] %>
<% temp << member%> <% temp << member %>
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>
<% members = temp.reverse %> <% temps = temp %>
<%= render :partial => 'member_list', :locals => {:members => temps} %>
<% end %> <% end %>
<% end %> <% end %>
<%= render :partial => 'member_list', :locals => {:members => members} %> <!-- <%= render :partial => 'member_list', :locals => {:members => members} %> -->
</div> </div>

Loading…
Cancel
Save