From d534d8016bf75052f58698c4930c9a00c06959f5 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 13 Aug 2019 16:30:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=88=90=E5=91=98=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=88=A4=E6=96=AD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/subjects_controller.rb | 1 + app/models/user.rb | 4 ++-- app/views/subjects/show.json.jbuilder | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/controllers/subjects_controller.rb b/app/controllers/subjects_controller.rb index 825040528..864c2c426 100644 --- a/app/controllers/subjects_controller.rb +++ b/app/controllers/subjects_controller.rb @@ -81,6 +81,7 @@ class SubjectsController < ApplicationController def show @user = current_user @is_creator = current_user.creator_of_subject?(@subject) + @is_manager = @user.manager_of_subject?(@subject) # 合作团队 @members = @subject.subject_members.includes(:user) @shixuns = @subject.shixuns.published.pluck(:id) diff --git a/app/models/user.rb b/app/models/user.rb index 7f724d081..9c3d1af39 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -263,9 +263,9 @@ class User < ApplicationRecord course&.course_members.exists?(user_id: id) end - # 实训路径管理员:创建者或admin + # 实训路径管理员 def creator_of_subject?(subject) - subject.user_id == id || admin? + subject.user_id == id end # 实训路径:合作者、admin diff --git a/app/views/subjects/show.json.jbuilder b/app/views/subjects/show.json.jbuilder index d93ee62f9..af524f5b3 100644 --- a/app/views/subjects/show.json.jbuilder +++ b/app/views/subjects/show.json.jbuilder @@ -5,12 +5,12 @@ json.challenges_count @subject.subject_challenge_count json.subject_score @subject.all_score json.member_count @subject.member_count -json.allow_delete @is_creator && (@subject.status != 2 || @user.admin?) +json.allow_delete (@subject.status != 2 && @is_creator) || @user.admin? json.publish_status publish_status(@subject, @is_creator, @user, @shixuns) -json.allow_statistics @user.manager_of_subject?(@subject) +json.allow_statistics @is_manager json.allow_send @user.logged? -json.allow_visit @user.manager_of_subject?(@subject) || @user.admin? || @subject.status > 1 -json.allow_add_member @user.manager_of_subject?(@subject) +json.allow_visit @subject.status > 1 || @is_manager +json.allow_add_member @is_manager json.members @members do |member| json.partial! 'subject_member', locals: { user: member.user }