|
|
|
@@ -194,7 +194,7 @@ module ProjectOperable |
|
|
|
if owner.is_a?(User) |
|
|
|
managers.exists?(user_id: user.id) |
|
|
|
elsif owner.is_a?(Organization) |
|
|
|
managers.exists?(user_id: user.id) || owner.is_owner?(user.id) || owner.is_only_admin?(user.id) |
|
|
|
managers.exists?(user_id: user.id) || owner.is_owner?(user.id) || (owner.is_only_admin?(user.id) && (teams.pluck(:id) & user.teams.pluck(:id)).size > 0) |
|
|
|
else |
|
|
|
false |
|
|
|
end |
|
|
|
@@ -205,7 +205,7 @@ module ProjectOperable |
|
|
|
if owner.is_a?(User) |
|
|
|
developers.exists?(user_id: user.id) |
|
|
|
elsif owner.is_a?(Organization) |
|
|
|
developers.exists?(user_id: user.id) || owner.is_only_write?(user.id) |
|
|
|
developers.exists?(user_id: user.id) || (owner.is_only_write?(user.id) && (teams.pluck(:id) & user.teams.pluck(:id)).size > 0) |
|
|
|
else |
|
|
|
false |
|
|
|
end |
|
|
|
|