socialforge/app/api/mobile/entities/homework.rb

65 lines
1.9 KiB
Ruby
Raw Normal View History

module Mobile
module Entities
class Homework < Grape::Entity
include Redmine::I18n
def self.homework_expose(field)
expose field do |f,opt|
if f.is_a?(Hash) && f.key?(field)
if field == :created_on
format_time(f[field])
else
f[field]
end
2015-01-21 11:28:09 +08:00
elsif f.is_a?(::Bid)
if f.respond_to?(field)
f.send(field)
else
end
end
end
end
#作业id
homework_expose :id
#课程名称
homework_expose :course_name
homework_expose :course_id
#作业发布者
expose :author,using: Mobile::Entities::User do |f, opt|
f[:author]
end
#作业发布者真名
homework_expose :author_real_name
#作业次数
homework_expose :homework_times
#作业名称
homework_expose :homework_name
#已提交的作业数量
homework_expose :homework_count
#学生提问数量
homework_expose :student_questions_count
#作业描述
homework_expose :description
#作业是否启用匿评功能 0不启用1启用
homework_expose :open_anonymous_evaluation
#作业状态 0:新建1已开启匿评2已关闭匿评
#只有作业启用了匿评功能且当前用户是课程老师且已提交的作品数量大于或等于2才能开启匿评
homework_expose :homework_state
homework_expose :created_on
homework_expose :deadline
2015-03-04 17:04:07 +08:00
expose :jours,using: Mobile::Entities::Jours do |f, opt|
f[:jours] if f.is_a?(Hash) && f.key?(:jours)
end
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)
end
end
end
end