修正项目个人得分问题:统计时只计算项目成员,user_grade表user_id和project_id联合不重复验证,user_grade分数部位负验证

competition
z9hang 11 years ago
parent 0f9c098df9
commit a7fa444f9e

@ -122,7 +122,7 @@ class MembersController < ApplicationController
user_ids = attrs.delete(:user_ids)
user_ids.each do |user_id|
members << Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)
user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id)
#user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id)
if (params[:membership][:role_ids] && params[:membership][:role_ids][0] == "3")
course_info << CourseInfo.new(:user_id => user_id, :course_id => @course.id)
end

@ -2,4 +2,37 @@ class UserGrade < ActiveRecord::Base
# attr_accessible :title, :body
attr_accessible :user_id, :project_id, :grade
belongs_to :project
before_save :correct_score
validates_uniqueness_of :user_id, :scope => [:project_id]
#validate :my_validation
#修正分数
#分数小于0时修正为0
#分数大于等于0时不修正 -by zjc
def correct_score
if !self.grade.nil? && self.grade < 0
self.grade = 0
end
end
#def self.exit_user_and_project(user,project)
# unless user.nil? || project.nil?
# if user.class.to_s == 'User' && project.class.to_s == 'Project'
# user_grade = UserGrade.find_by_user_id_and_project_id(user.id,project.id)
# user_grade
# else
# nil
# end
# else
# nil
# end
#end
#def my_validation
# if user_id.nil? || project_id.nil?
# errors[:Base] << "用户和项目不能为空"
# elsif UserGrade.exit_user_and_project(user_id,project_id)
# errors[:Base] << "当前记录已存在"
# end
#end
end

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save