# 这个模块由于作业模块的改变,里边的注释以及属性不可信 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 elsif f.is_a?(::HomeworkCommon) if f.respond_to?(field) f.send(field) else case field when :homework_name f.send(:name) when :homework_notsubmit_num f.course.members.count - f.student_works.count end 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 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 homework_expose :homework_notsubmit_num expose :submit_student_list ,using:Mobile::Entities::User do |f,opt| f[:studentlist] end end end end