毕设作品的组长

dev_ec
cxt 5 years ago
parent e837b22cad
commit 247311a10c

@ -142,6 +142,7 @@ class GraduationWorksController < ApplicationController
graduation_work.commit_time = Time.now
graduation_work.update_time = Time.now
graduation_work.commit_user_id = current_user.id
graduation_work.update_user_id = current_user.id
graduation_work.course_id = @course.id
graduation_work.group_id = @task.task_type == 2 ? @task.graduation_works.where("work_status != 0").map(&:group_id).max.to_i + 1 : 0
@ -162,7 +163,7 @@ class GraduationWorksController < ApplicationController
graduation_task_id: @task.id, project_id: graduation_work.project_id,
late_penalty: graduation_work.late_penalty, work_status: graduation_work.work_status,
commit_time: Time.now, update_time: Time.now, group_id: graduation_work.group_id,
commit_user_id: current_user.id)
commit_user_id: current_user.id, update_user_id: current_user.id)
stu_work.save!
graduation_work.attachments.each do |attachment|
att = attachment.copy
@ -190,8 +191,9 @@ class GraduationWorksController < ApplicationController
def edit
@task_user = current_user
if @task.task_type == 2
@commit_user_id = @work.commit_user_id
@work_members = @course.students.where(user_id: @task.graduation_works.where(group_id: @work.group_id).pluck(:user_id)).
order("course_members.id=#{@work.user_id} desc").includes(:course_group, user: :user_extension)
order("course_members.id=#{@work.commit_user_id} desc").includes(:course_group, user: :user_extension)
end
end
@ -203,7 +205,8 @@ class GraduationWorksController < ApplicationController
begin
@work.description = params[:description]
@work.update_time = Time.now
@work.commit_user_id = current_user.id
@work.update_user_id = current_user.id
# @work.commit_user_id = current_user.id
if @work.save!
Attachment.associate_container(params[:attachment_ids], @work.id, @work.class)
@ -217,7 +220,7 @@ class GraduationWorksController < ApplicationController
# 原成员更新描述、更新时间以及附件
@task.graduation_works.where(group_id: @work.group_id, user_id: (work_user_ids & params_user_ids)).each do |work|
work.update_attributes(update_time: Time.now, description: @work.description, commit_user_id: current_user.id)
work.update_attributes(update_time: Time.now, description: @work.description, update_user_id: current_user.id)
work.attachments.destroy_all
@work.attachments.each do |attachment|
att = attachment.copy
@ -237,7 +240,7 @@ class GraduationWorksController < ApplicationController
@task.graduation_works.where(group_id: @work.group_id, user_id: delete_user_ids).
update_all(work_status: 0, description: nil, late_penalty: 0, commit_time: nil, update_time: nil,
final_score: nil, teacher_score: nil, work_score: nil, project_id: 0, group_id: 0,
commit_user_id: nil)
commit_user_id: nil, update_user_id: nil)
# 新增加的成员
(params_user_ids - work_user_ids).each do |user_id|
@ -246,7 +249,7 @@ class GraduationWorksController < ApplicationController
stu_work.update_attributes(user_id: user_id, description: @work.description, graduation_task_id: @task.id,
project_id: @work.project_id, late_penalty: @work.late_penalty,
work_status: @work.work_status, commit_time: Time.now, update_time: Time.now,
group_id: @work.group_id, commit_user_id: current_user.id)
group_id: @work.group_id, commit_user_id: @work.commit_user_id, update_user_id: current_user.id)
@work.attachments.each do |attachment|
att = attachment.copy
att.author_id = attachment.author_id

@ -6,6 +6,7 @@ class GraduationWork < ApplicationRecord
belongs_to :graduation_task, optional: true
belongs_to :commit_user, class_name: 'User', foreign_key: :commit_user_id, optional: true
belongs_to :update_user, class_name: 'User', foreign_key: :update_user_id, optional: true
has_many :attachments, as: :container, dependent: :destroy
has_many :tidings, as: :container, dependent: :destroy
has_many :graduation_work_scores, dependent: :destroy

@ -10,9 +10,13 @@ json.attachments @work.attachments do |atta|
json.partial! "attachments/attachment_simple", locals: {attachment: atta, delete: @work.delete_atta(atta)}
end
json.members @work_members do |member|
json.user_id member.user_id
json.user_name member.user.real_name
json.group_name member.course_group_name
json.student_id member.user.student_id
if @task.task_type == 2
json.is_leader_work @work.user_id == @commit_user_id
json.members @work_members do |member|
json.is_leader_work @work.user_id == @commit_user_id
json.user_name member.user.real_name
json.group_name member.course_group_name
json.student_id member.user.student_id
json.is_leader member.user_id == @commit_user_id
end
end

@ -2,9 +2,12 @@ json.partial! "graduation_tasks/public_navigation", locals: {course: @course, gr
json.task_type @task.task_type
json.(@work, :description, :commit_time, :update_time)
json.is_leader_work @work.user_id == @work.commit_user_id if @task.task_type == 2
json.author_name @work.user.real_name
json.is_author @is_author
json.update_user_name @work.commit_user.try(:real_name)
json.commit_user_name @work.commit_user.try(:real_name)
json.update_user_name @work.update_user.try(:real_name)
json.task_status @task.status #6.12 -hs
json.status task_curr_status(@task, @course)[:status]
json.update_atta (!@course.is_end && @task.end_time < Time.now && @task.allow_late && (@task.late_time.nil? || @task.late_time > Time.now) && @is_author)
@ -17,9 +20,11 @@ if @task.task_type == 2 && @task.base_on_project
json.project_info project_info @work, @current_user, @user_course_identity
end
json.work_members @work_members.each do |member|
json.user_name member.user.real_name
json.user_login member.user.login
json.work_members @work_members.each do |work|
json.user_name work.user.real_name
json.user_login work.user.login
json.work_id work.id
json.is_leader work.user_id == work.commit_user_id
end

@ -0,0 +1,6 @@
class AddUpdateUserIdToGraduationWorks < ActiveRecord::Migration[5.2]
def change
add_column :graduation_works, :update_user_id, :integer
GraduationWork.update_all("update_user_id = commit_user_id")
end
end
Loading…
Cancel
Save