From 744b391650514da19572567ed7f17d0d429bcd40 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Wed, 14 Aug 2019 18:39:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BD=9C=E4=B8=9A=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=BB=84=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_works_controller.rb | 20 +++++++++++++++++--- config/routes.rb | 1 + 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/controllers/student_works_controller.rb b/app/controllers/student_works_controller.rb index 68d52bd74..93f0fc586 100644 --- a/app/controllers/student_works_controller.rb +++ b/app/controllers/student_works_controller.rb @@ -4,7 +4,7 @@ class StudentWorksController < ApplicationController before_action :require_login, :check_auth before_action :find_homework, only: [:new, :create, :search_member_list, :check_project, :relate_project, - :cancel_relate_project] + :cancel_relate_project, :delete_work] before_action :find_work, only: [:shixun_work_report, :adjust_review_score, :shixun_work, :commit_des, :update_des, :adjust_score, :show, :adjust_score, :supply_attachments, :revise_attachment, :comment_list, :add_score, :add_score_reply, :destroy_score, :appeal_anonymous_score, @@ -15,12 +15,12 @@ class StudentWorksController < ApplicationController before_action :teacher_allowed, only: [:adjust_score, :adjust_review_score, :deal_appeal_score] before_action :course_student, only: [:new, :commit_des, :update_des, :create, :edit, :update, :search_member_list, :relate_project, - :cancel_relate_project, :relate_project] + :cancel_relate_project, :relate_project, :delete_work] before_action :my_work, only: [:commit_des, :update_des, :edit, :update, :revise_attachment, :appeal_anonymous_score, :cancel_appeal] - before_action :edit_duration, only: [:edit, :update] + before_action :edit_duration, only: [:edit, :update, :delete_work] before_action :end_or_late, only: [:new, :create, :search_member_list, :commit_des, :update_des] before_action :require_score_id, only: [:destroy_score, :add_score_reply, :appeal_anonymous_score, :deal_appeal_score, :cancel_appeal] @@ -60,6 +60,20 @@ class StudentWorksController < ApplicationController @members = @members.page(page).per(limit).includes(:course_group, user: :user_extension) end + def delete_work + begin + work = @homework.student_works.find_by!(user_id: params[:user_id]) + work.update_attributes(description: nil, project_id: 0, + late_penalty: 0, work_status: 0, + commit_time: nil, update_time: nil, group_id: 0, + commit_user_id: nil, final_score: nil, work_score: nil, teacher_score: nil, teaching_asistant_score: nil) + normal_status("删除成功") + rescue Exception => e + uid_logger(e.message) + tip_exception(e.message) + end + end + def create student_work = @homework.student_works.find_or_create_by(user_id: current_user.id) diff --git a/config/routes.rb b/config/routes.rb index 45690fbad..988ebbfa2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -436,6 +436,7 @@ Rails.application.routes.draw do get :check_project get :cancel_relate_project post :relate_project + delete :delete_work end end end