Merge branch 'Homework' of http://repository.trustie.net/xianbo/trustie2 into Homework

Homework
z9hang 11 years ago
commit 22e2ac26bb

@ -11,14 +11,18 @@ class HomeworkAttachController < ApplicationController
#获取未批作业列表
def get_not_batch_homework
sort, direction = params[:sort], params[:direction]
order_by = sort == 'score'? "s_score #{direction}" : "created_at #{direction}"
teachers = find_course_teachers @course
all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id IN #{teachers}) AS t_score,
(SELECT AVG(stars) FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = homework_attaches.id AND rater_id NOT IN #{teachers}) AS s_score
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY s_score DESC,created_at ASC) AS table1
FROM homework_attaches WHERE bid_id = #{@bid.id} ORDER BY #{order_by}) AS table1
WHERE table1.t_score IS NULL")
@homework_list = paginateHelper all_homework_list,10
@direction = direction == 'asc'? 'desc' : 'asc'
respond_to do |format|
format.js
end
@ -26,6 +30,7 @@ class HomeworkAttachController < ApplicationController
#获取已评作业列表
def get_batch_homeworks
sort, direction = params[:sort], params[:direction]
teachers = find_course_teachers @course
teacher_proportion = get_teacher_proportion @bid
all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT * FROM (SELECT homework_attaches.*,
@ -35,6 +40,7 @@ class HomeworkAttachController < ApplicationController
ORDER BY (CASE WHEN t_score IS NULL THEN 0 ELSE t_score * #{teacher_proportion} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - teacher_proportion} END) DESC,created_at ASC) AS table1
WHERE table1.t_score IS NOT NULL")
@homework_list = paginateHelper all_homework_list,10
@direction = direction == 'asc'? 'desc' : 'asc'
respond_to do |format|
format.js
end
@ -42,6 +48,7 @@ class HomeworkAttachController < ApplicationController
#获取所有作业列表
def get_homeworks
sort, direction = params[:sort], params[:direction]
teachers = find_course_teachers @course
teacher_proportion = get_teacher_proportion @bid
all_homework_list = HomeworkAttach.eager_load(:attachments,:user,:rate_averages).find_by_sql("SELECT homework_attaches.*,
@ -50,6 +57,7 @@ class HomeworkAttachController < ApplicationController
FROM homework_attaches WHERE bid_id = #{@bid.id}
ORDER BY (CASE WHEN t_score IS NULL THEN 0 ELSE t_score * #{teacher_proportion} END + CASE WHEN s_score IS NULL THEN 0 ELSE s_score * #{1 - teacher_proportion} END) DESC,created_at ASC")
@homework_list = paginateHelper all_homework_list,10
@direction = direction == 'asc'? 'desc' : 'asc'
respond_to do |format|
format.js
end

@ -1892,5 +1892,18 @@ module ApplicationHelper
content_tag(:ul, logos.join("").html_safe, :class => ul_class.to_s).html_safe
end
def sort_homework_path(bid, sort, direction)
case self.action_name
when 'show_courseEx'
get_not_batch_homework_homework_attach_path(bid, sort: sort, direction: 'asc')
when 'get_not_batch_homework'
get_not_batch_homework_homework_attach_path(bid, sort: sort, direction: direction)
when 'get_batch_homeworks'
get_batch_homeworks_homework_attach_path(bid, sort: sort, direction: direction)
when 'get_homeworks'
get_homeworks_homework_attach_path(bid, sort: sort, direction: direction)
else
'#'
end
end
end

@ -7,14 +7,10 @@
</font>)
</span><span class="fr">
按&nbsp;
<a href="#">
<%= l(:label_work_rating)%>
</a>
<%= link_to l(:label_work_rating), sort_homework_path(@bid, 'socre', @direction), {:remote => true}%>
&nbsp;/&nbsp;
<a href="#">
<%= l(:label_time) %>
</a>
&nbsp;<%= l(:label_sort) %>
<%= link_to l(:label_time), sort_homework_path(@bid, 'time', @direction), {:remote => true}%>
&nbsp;<%= l(:label_sort) %>
</span>
</div>

Loading…
Cancel
Save