From 12b6525cc6f01998ac99d19afff101509beeed9b Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 1 Jul 2014 10:29:37 +0800
Subject: [PATCH 1/7] t
---
app/helpers/courses_helper.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index b1ec023c8..daf15c1b7 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -332,7 +332,7 @@ module CoursesHelper
return format("%.2f",teacher_stars == nil ? 0 : teacher_stars.stars)
end
- #获取指定作业的得分
+ #获取指定项目的得分
def project_score project
issue_count = project.issues.count
issue_journal_count = project.issue_changes.count
From 4470f0dd7337518da45561f6a8dbe1a3f81ad98c Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 1 Jul 2014 11:53:55 +0800
Subject: [PATCH 2/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E6=97=B6=E5=A2=9E=E5=8A=A0=E6=95=99=E5=B8=88=E8=AF=84=E5=88=86?=
=?UTF-8?q?=E6=89=80=E5=8D=A0=E6=AF=94=E4=BE=8B=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/bids_controller.rb | 7 ++++---
app/controllers/courses_controller.rb | 1 +
app/helpers/courses_helper.rb | 15 ++++++++++++++-
app/views/courses/_homework_form.html.erb | 2 ++
config/locales/zh.yml | 1 +
.../20140701031909_add_proportion_to_bid.rb | 5 +++++
db/schema.rb | 11 ++++++-----
7 files changed, 33 insertions(+), 9 deletions(-)
create mode 100644 db/migrate/20140701031909_add_proportion_to_bid.rb
diff --git a/app/controllers/bids_controller.rb b/app/controllers/bids_controller.rb
index 5f20d2cef..76872d783 100644
--- a/app/controllers/bids_controller.rb
+++ b/app/controllers/bids_controller.rb
@@ -498,10 +498,10 @@ class BidsController < ApplicationController
#增加作业按评分排序,
#@homework_list = @bid.homeworks.eager_load(:rate_averages, :user, :attachments).order('seems_rateable_cached_ratings.avg DESC').order("#{HomeworkAttach.table_name}.created_at ASC")
@homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
- (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{@bid.courses.first.teacher.id}) AS t_score,
- (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id <> #{@bid.courses.first.teacher.id}) AS s_score
+ (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id = #{@bid.author_id}) AS t_score,
+ (SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id <> #{@bid.author_id}) AS s_score
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY
- (CASE WHEN t_score IS NULL THEN 0 ELSE t_score * 0.6 END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * 0.4 END) DESC,created_at ASC")
+ (CASE WHEN t_score IS NULL THEN 0 ELSE t_score * #{@bid.proportion * 1.0 / 100} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - @bid.proportion * 1.0 / 100} END) DESC,created_at ASC")
if params[:student_id].present?
@temp = []
@homework_list.each do |pro|
@@ -788,6 +788,7 @@ class BidsController < ApplicationController
@bid.name = params[:bid][:name]
@bid.description = params[:bid][:description]
@bid.is_evaluation = params[:bid][:is_evaluation]
+ @bid.proportion = params[:bid][:proportion]
@bid.reward_type = 3
# @bid.budget = params[:bid][:budget]
@bid.deadline = params[:bid][:deadline]
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 7cd46b65a..20bda61e0 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -490,6 +490,7 @@ class CoursesController < ApplicationController
# 新建作业
def new_homework
@homework = Bid.new
+ @homework.proportion
@homework.safe_attributes = params[:bid]
if (User.current.logged? && User.current.member_of_course?(Course.find params[:id] ))
render :layout => 'base_courses'
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index daf15c1b7..aa09c5e98 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -83,6 +83,19 @@ module CoursesHelper
type << option2
end
+ def proportion_option
+ type = []
+ i = 0
+ while i <= 100
+ option = []
+ option << i.to_s + "%"
+ option << i
+ type << option
+ i = i + 10
+ end
+ type
+ end
+
alias teacherCountOrigin teacherCount
def teacherCount project
@@ -308,7 +321,7 @@ module CoursesHelper
#最终评分 = 学生评分的平均分 * 0.4 +教师评分 * 0.6
def score_for_homework homework
if homework.bid.is_evaluation == 1 || homework.bid.is_evaluation == nil
- return format("%.2f",(teacher_score_for_homework(homework).to_f * 0.6 + student_score_for_homework(homework).to_f * 0.4))
+ return format("%.2f",(homework.bid.proportion * 1.0 / 100) * (teacher_score_for_homework(homework).to_f) + (1 - homework.bid.proportion * 1.0 / 100) * (student_score_for_homework(homework).to_f))
else
return teacher_score_for_homework homework
end
diff --git a/app/views/courses/_homework_form.html.erb b/app/views/courses/_homework_form.html.erb
index 6e49fcdea..41c059603 100644
--- a/app/views/courses/_homework_form.html.erb
+++ b/app/views/courses/_homework_form.html.erb
@@ -34,6 +34,8 @@
<%= f.select :is_evaluation, is_evaluation_option %>
+<%= f.select :proportion, proportion_option %>
+
<%= hidden_field_tag 'course_id', @course.id %>