作业详情、作业列表返回数据修改

dev_repository_hjq
z9hang 11 years ago
parent 7b5eb9db8b
commit 451a022d5f

@ -53,7 +53,7 @@ module Mobile
c[:course].teacher c[:course].teacher
end end
end end
expose :my_homework,using: Mobile::Entities::HomeworkAttach do |f, opt| expose :my_homework,using: Mobile::Entities::Homework do |f, opt|
f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework) f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework)
end end
course_expose :current_user_is_member course_expose :current_user_is_member

@ -1,10 +1,15 @@
module Mobile module Mobile
module Entities module Entities
class Homework < Grape::Entity class Homework < Grape::Entity
include Redmine::I18n
def self.homework_expose(field) def self.homework_expose(field)
expose field do |f,opt| expose field do |f,opt|
if f.is_a?(Hash) && f.key?(field) if f.is_a?(Hash) && f.key?(field)
f[field] if field == :created_on
format_time(f[field])
else
f[field]
end
elsif f.is_a?(::Bid) elsif f.is_a?(::Bid)
if f.respond_to?(field) if f.respond_to?(field)
f.send(field) f.send(field)
@ -18,6 +23,8 @@ module Mobile
homework_expose :id homework_expose :id
#课程名称 #课程名称
homework_expose :course_name homework_expose :course_name
homework_expose :course_id
#作业发布者 #作业发布者
expose :author,using: Mobile::Entities::User do |f, opt| expose :author,using: Mobile::Entities::User do |f, opt|
f[:author] f[:author]
@ -42,6 +49,9 @@ module Mobile
#只有作业启用了匿评功能且当前用户是课程老师且已提交的作品数量大于或等于2才能开启匿评 #只有作业启用了匿评功能且当前用户是课程老师且已提交的作品数量大于或等于2才能开启匿评
homework_expose :homework_state homework_expose :homework_state
homework_expose :created_on
homework_expose :deadline
expose :homework_for_anonymous_comments,using: Mobile::Entities::HomeworkAttach do |f, opt| expose :homework_for_anonymous_comments,using: Mobile::Entities::HomeworkAttach do |f, opt|
f[:homework_for_anonymous_comments] if f.is_a?(Hash) && f.key?(:homework_for_anonymous_comments) f[:homework_for_anonymous_comments] if f.is_a?(Hash) && f.key?(:homework_for_anonymous_comments)
end end

@ -383,8 +383,9 @@ class CoursesService
end end
#end #end
open_anonymous_evaluation = bid.open_anonymous_evaluation open_anonymous_evaluation = bid.open_anonymous_evaluation
{:course_name => course.name,:id => bid.id, :author => bid.author,:author_real_name => author_real_name, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count, {:course_name => course.name,:course_id => course.id,:id => bid.id, :author => bid.author,:author_real_name => author_real_name, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count,
:description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation,:homework_for_anonymous_comments => homework_for_anonymous_comments} :description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation,:homework_for_anonymous_comments => homework_for_anonymous_comments,:created_on => bid.created_on,:deadline => bid.deadline}
end end
#显示作业列表的同时显示分配给当前学生匿评的作业 #显示作业列表的同时显示分配给当前学生匿评的作业

@ -26,8 +26,8 @@ class HomeworkService
state = @bid.comment_status state = @bid.comment_status
#end #end
open_anonymous_evaluation = @bid.open_anonymous_evaluation open_anonymous_evaluation = @bid.open_anonymous_evaluation
{:course_name => course.name,:id => @bid.id, :author => @bid.author,:author_real_name =>author, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count, {:course_name => course.name,:course_id => course.id,:id => @bid.id, :author => @bid.author,:author_real_name =>author, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count,
:description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation} :description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation,:created_on => @bid.created_on,:deadline => @bid.deadline}
end end
# 启动作业匿评前提示信息 # 启动作业匿评前提示信息
@ -274,10 +274,26 @@ class HomeworkService
membership.each do |mp| membership.each do |mp|
my_homeworks = [] my_homeworks = []
mp.course.homeworks.each do |bid| mp.course.homeworks.each do |bid|
hw = bid.homeworks.where("user_id = #{current_user.id}") #hw = bid.homeworks.where("user_id = #{current_user.id}")
my_homeworks << hw[0] unless (hw.nil? || hw[0].nil?) @bid = bid
course = @bid.courses.first
author = @bid.author.lastname + @bid.author.firstname
many_times = course.homeworks.index(@bid) + 1
name = @bid.name
homework_count = @bid.homeworks.count #已提交的作业数量
student_questions_count = @bid.commit.nil? ? 0 : @bid.commit
description = @bid.description
#if is_course_teacher(User.current, course) && @bid.open_anonymous_evaluation == 1 && @bid.homeworks.count >= 2
state = @bid.comment_status
#end
open_anonymous_evaluation = @bid.open_anonymous_evaluation
my_homeworks << {:course_name => course.name,:id => @bid.id, :author => @bid.author,:author_real_name =>author, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => student_questions_count,
:description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation}
end
if mp.course.homeworks.count != 0
course_list << {:course => mp.course,:img_url => url_to_avatar(mp.course),:my_homework => my_homeworks,:current_user_is_member => current_user.member_of_course?(mp.course),:current_user_is_teacher => is_course_teacher(current_user,mp.course)}
end end
course_list << {:course => mp.course,:img_url => url_to_avatar(mp.course),:my_homework => my_homeworks,:current_user_is_member => current_user.member_of_course?(mp.course),:current_user_is_teacher => is_course_teacher(current_user,mp.course)}
end end
course_list course_list
end end

Loading…
Cancel
Save