fixed 组织多角色判断错误
This commit is contained in:
parent
18a4833759
commit
74de1cf78f
|
@ -126,14 +126,24 @@ class Organization < Owner
|
||||||
|
|
||||||
def is_only_admin?(user_id)
|
def is_only_admin?(user_id)
|
||||||
team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(admin)}).present?
|
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
|
end
|
||||||
|
|
||||||
def is_only_write?(user_id)
|
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
|
end
|
||||||
|
|
||||||
def is_only_read?(user_id)
|
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
|
end
|
||||||
|
|
||||||
# 是不是所有者团队的最后一个成员
|
# 是不是所有者团队的最后一个成员
|
||||||
|
|
Loading…
Reference in New Issue