Browse Source

fixed 组织多角色判断错误

pull/343/head
xxqfamous 3 years ago
parent
commit
74de1cf78f
1 changed files with 12 additions and 2 deletions
  1. +12
    -2
      app/models/organization.rb

+ 12
- 2
app/models/organization.rb View File

@@ -126,14 +126,24 @@ class Organization < Owner

def is_only_admin?(user_id)
team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(admin)}).present?
roles = has_roles(user_id)
roles.size > 1 ? false : roles.include?("admin")
end

def is_only_write?(user_id)
team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(write)}).present?
# team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(write)}).present?
roles = has_roles(user_id)
roles.size > 1 ? false : roles.include?("write")
end

def is_only_read?(user_id)
team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(read)}).present?
# team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(read)}).present?
roles = has_roles(user_id)
roles.size > 1 ? false : roles.include?("read")
end

def has_roles(user_id)
teams.joins(:team_users).where("team_users.user_id=?", user_id).pluck("teams.authorize").uniq
end

# 是不是所有者团队的最后一个成员


Loading…
Cancel
Save