if identity == Course::STUDENT
  if homework.homework_type == "practice"
    shixun = homework.shixuns.take
    myshixun = work.try(:myshixun) ? work.myshixun : shixun.myshixuns.find_by(user_id: work.user_id)
    json.task_operation task_operation_url(myshixun, shixun)
    json.view_report work.work_status > 0
    json.commit_des commit_des_status(work, homework)
    json.redo_work (homework.end_or_late ? false : student_redo_work(work, homework))
    json.myshixun_identifier myshixun&.identifier
  else
    json.work_statuses student_work_status(homework, work.user_id, homework.course, work)
  end
  json.work_id work.id
end