Merge branch 'develop' into educoder

dev_bj
cxt 6 years ago
commit 53d6f47082

@ -55,6 +55,7 @@ gem 'chinese_pinyin'
# gem 'sunspot' # gem 'sunspot'
# gem 'progress_bar' # gem 'progress_bar'
gem 'ansi' gem 'ansi'
gem 'diff-lcs', '~> 1.3'
gem 'kaminari' gem 'kaminari'
gem 'elasticsearch-model' gem 'elasticsearch-model'

@ -2017,10 +2017,10 @@ class StudentWorkController < ApplicationController
if @homework.homework_type == 1 #普通作业 if @homework.homework_type == 1 #普通作业
if @homework.anonymous_comment ==0 if @homework.anonymous_comment ==0
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_des), sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score), l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time)]) l(:excel_t_score),l(:excel_ta_score), l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time), "评语"])
else else
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_des), sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time)]) l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time), "评语"])
end end
count_row = 1 count_row = 1
items.each do |homework| items.each do |homework|
@ -2039,10 +2039,12 @@ class StudentWorkController < ApplicationController
sheet1[count_row,11] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty sheet1[count_row,11] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty
sheet1[count_row,12] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score) sheet1[count_row,12] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score)
sheet1[count_row,13] = format_time(homework.update_time) sheet1[count_row,13] = format_time(homework.update_time)
sheet1[count_row,14] = work_comment(homework)
else else
sheet1[count_row,9] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty sheet1[count_row,9] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty
sheet1[count_row,10] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score) sheet1[count_row,10] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score)
sheet1[count_row,11] = format_time(homework.update_time) sheet1[count_row,11] = format_time(homework.update_time)
sheet1[count_row,12] = work_comment(homework)
end end
count_row += 1 count_row += 1
end end
@ -2082,10 +2084,10 @@ class StudentWorkController < ApplicationController
elsif @homework.homework_type == 3 #分组作业 elsif @homework.homework_type == 3 #分组作业
if @homework.anonymous_comment ==0 if @homework.anonymous_comment ==0
sheet1.row(0).concat([l(:excel_group),l(:excel_group_member),l(:excel_course_group),l(:excel_homework_des), sheet1.row(0).concat([l(:excel_group),l(:excel_group_member),l(:excel_course_group),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time)]) l(:excel_t_score),l(:excel_ta_score),l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time), "评语"])
else else
sheet1.row(0).concat([l(:excel_group),l(:excel_group_member),l(:excel_course_group),l(:excel_homework_des), sheet1.row(0).concat([l(:excel_group),l(:excel_group_member),l(:excel_course_group),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time)]) l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time), "评语"])
end end
count_row = 1 count_row = 1
items.each do |homework| items.each do |homework|
@ -2101,16 +2103,18 @@ class StudentWorkController < ApplicationController
sheet1[count_row,8] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty sheet1[count_row,8] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty
sheet1[count_row,9] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score) sheet1[count_row,9] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score)
sheet1[count_row,10] = format_time(homework.update_time) sheet1[count_row,10] = format_time(homework.update_time)
sheet1[count_row,11] = work_comment(homework)
else else
sheet1[count_row,6] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty sheet1[count_row,6] = (@homework.teacher_priority == 1 && !homework.teacher_score.nil?) ? 0 : homework.late_penalty
sheet1[count_row,7] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score) sheet1[count_row,7] = homework.respond_to?("work_score") ? homework.work_score.nil? ? l(:label_without_score) : homework.work_score.round(1) : l(:label_without_score)
sheet1[count_row,8] = format_time(homework.update_time) sheet1[count_row,8] = format_time(homework.update_time)
sheet1[count_row,9] = work_comment(homework)
end end
count_row += 1 count_row += 1
end end
elsif @homework.homework_type == 4 #实训作业 elsif @homework.homework_type == 4 #实训作业
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_complete_time), sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_course_group),l(:excel_homework_complete_time),
l(:excel_homework_complete_status), l(:excel_homework_evaluate_times), l(:excel_homework_spend_time),l(:excel_homework_total_exp),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time)]) l(:excel_homework_complete_status), l(:excel_homework_evaluate_times), l(:excel_homework_spend_time),l(:excel_homework_total_exp),l(:excel_l_penalty),l(:excel_f_score),l(:excel_update_time), "评语"])
count_row = 1 count_row = 1
shixun = @homework.homework_commons_shixuns.shixun shixun = @homework.homework_commons_shixuns.shixun
items.each do |homework| items.each do |homework|
@ -2129,6 +2133,7 @@ class StudentWorkController < ApplicationController
sheet1[count_row,11] = homework.late_penalty sheet1[count_row,11] = homework.late_penalty
sheet1[count_row,12] = homework.respond_to?("work_score") ? homework.work_score.nil? ? "--" : homework.work_score.round(1) : "--" sheet1[count_row,12] = homework.respond_to?("work_score") ? homework.work_score.nil? ? "--" : homework.work_score.round(1) : "--"
sheet1[count_row,13] = homework.update_time ? format_time(homework.update_time) : "--" sheet1[count_row,13] = homework.update_time ? format_time(homework.update_time) : "--"
sheet1[count_row,14] = work_comment(homework)
count_row += 1 count_row += 1
end end

@ -4178,7 +4178,8 @@ class UsersController < ApplicationController
###add by huang ###add by huang
def user_watchlist def user_watchlist
watch_query = User.watched_by(@user.id) watch_query = User.joins('left join watchers on watchers.watchable_id = users.id and watchers.watchable_type in ("Principal", "User")')
.where('watchers.user_id = ?', @user.id)
@user_watchlist_count = watch_query.size @user_watchlist_count = watch_query.size
@user_watchlist = watch_query.order("#{Watcher.table_name}.id desc") @user_watchlist = watch_query.order("#{Watcher.table_name}.id desc")
@limit = 10 @limit = 10
@ -4191,7 +4192,8 @@ class UsersController < ApplicationController
###add by huang ###add by huang
def user_fanslist def user_fanslist
fan_query = @user.watcher_users fan_query = User.joins('left join watchers on watchers.user_id = users.id and watchers.watchable_type in ("Principal", "User")')
.where('watchers.watchable_id = ?', @user.id)
@user_fanlist_count = fan_query.size @user_fanlist_count = fan_query.size
@user_fanlist = fan_query.order("#{Watcher.table_name}.id desc") @user_fanlist = fan_query.order("#{Watcher.table_name}.id desc")
@ -4204,10 +4206,12 @@ class UsersController < ApplicationController
end end
def user_wathlist_and_fanslist def user_wathlist_and_fanslist
watch_query = User.watched_by(@user.id) watch_query = User.joins('left join watchers on watchers.watchable_id = users.id and watchers.watchable_type in ("Principal", "User")')
.where('watchers.user_id = ?', @user.id)
@user_watchlist_count = watch_query.count @user_watchlist_count = watch_query.count
@user_watchlist = watch_query.order("#{Watcher.table_name}.id desc") @user_watchlist = watch_query.order("#{Watcher.table_name}.id desc")
fan_query = @user.watcher_users fan_query = User.joins('left join watchers on watchers.user_id = users.id and watchers.watchable_type in ("Principal", "User")')
.where('watchers.watchable_id = ?', @user.id)
@user_fanlist_count = fan_query.count @user_fanlist_count = fan_query.count
@user_fanlist = fan_query.order("#{Watcher.table_name}.id desc") @user_fanlist = fan_query.order("#{Watcher.table_name}.id desc")
respond_to do |format| respond_to do |format|

@ -3,6 +3,17 @@ include UserScoreHelper
module StudentWorkHelper module StudentWorkHelper
# 作品的评语(拼接导出excel成绩)
def work_comment work
comment = ""
work_scores = work.student_works_scores.order("created_at desc")
work_scores.each do |score|
comment += "#{score.user.show_real_name} #{format_time(score.created_at)} #{score.score}\n"
comment += "#{score.comment}\n\n"
end
comment
end
#获取当前用户的项目列表 #获取当前用户的项目列表
def user_projects_option def user_projects_option
projects = User.current.projects.visible projects = User.current.projects.visible

@ -13,7 +13,7 @@
</div> </div>
<% if user != User.current %> <% if user != User.current %>
<div class="fr"> <div class="fr">
<% if(user.watched_by?(User.current)) %> <% if Watcher.where(user_id: User.current.id, watchable_id: user.id, watchable_type: %w(Principal User)).exists? %>
<%= link_to "取消关注", <%= link_to "取消关注",
unwatch_path(:object_type => 'user', :object_id => user.id, :target_id => @user.id, :action_name => action), unwatch_path(:object_type => 'user', :object_id => user.id, :target_id => @user.id, :action_name => action),
:class => "user_default_btn user_private_btn fl mr30 mt20", :class => "user_default_btn user_private_btn fl mr30 mt20",

Loading…
Cancel
Save