From 39580a04a2e2d5a0b95724980c249c823ae8b025 Mon Sep 17 00:00:00 2001 From: nieguanghui Date: Thu, 24 Oct 2013 09:46:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A1=B9=E7=9B=AE=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=88=90=E5=91=98=E6=98=BE=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/member.rb | 1 + app/models/user_grade.rb | 1 + app/views/projects/_member_list.html.erb | 6 +----- app/views/projects/member.html.erb | 10 ++++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/models/member.rb b/app/models/member.rb index b11086061..de4d67687 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -20,6 +20,7 @@ class Member < ActiveRecord::Base belongs_to :principal, :foreign_key => 'user_id' has_many :member_roles, :dependent => :destroy has_many :roles, :through => :member_roles + belongs_to :project validates_presence_of :principal, :project diff --git a/app/models/user_grade.rb b/app/models/user_grade.rb index f79fcd2c6..ea951eadd 100644 --- a/app/models/user_grade.rb +++ b/app/models/user_grade.rb @@ -1,4 +1,5 @@ class UserGrade < ActiveRecord::Base # attr_accessible :title, :body + attr_accessible :user_id, :project_id, :grade belongs_to :project end diff --git a/app/views/projects/_member_list.html.erb b/app/views/projects/_member_list.html.erb index 5eb994c86..95ca1d029 100644 --- a/app/views/projects/_member_list.html.erb +++ b/app/views/projects/_member_list.html.erb @@ -24,15 +24,11 @@ <% else%> <%= 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]%>

- <%= l(:label_user_for_project_grade) %>: <%= user[:grade] %> + <%= l(:label_user_for_project_grade) %>: <%= UserGrade.find_by_user_id_and_project_id(member[:user_id], @project.id).grade %>

- <% end %> - <% end %> <% end %> <%= call_hook(:view_projects_settings_members_table_row, { :project => @project, :member => member}) %> diff --git a/app/views/projects/member.html.erb b/app/views/projects/member.html.erb index 4977c12a8..9f00f25dc 100644 --- a/app/views/projects/member.html.erb +++ b/app/views/projects/member.html.erb @@ -8,23 +8,25 @@ <% roles = Role.find_all_givable members = @project.member_principals.includes(:roles, :principal).all.sort %> <% if @project.project_type == 1 %> + <%= render :partial => 'member_list', :locals => {:members => members} %> <% else %> <% users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}")%> <% if users %> - <% users.sort {|a,b| a[:grade] <=> b[:grade]} %> + <% users = users.sort {|a,b| b[:grade] <=> a[:grade]} %> <% temp = [] %> <% users.each do |user|%> <% members.each do |member|%> <% if member[:user_id] == user[:user_id] %> - <% temp << member%> + <% temp << member %> <% end %> <% end %> <% end %> - <% members = temp.reverse %> + <% temps = temp %> + <%= render :partial => 'member_list', :locals => {:members => temps} %> <% end %> <% end %> - <%= render :partial => 'member_list', :locals => {:members => members} %> +