diff --git a/konova/models/object.py b/konova/models/object.py index a1c8c9c2..90c2f23d 100644 --- a/konova/models/object.py +++ b/konova/models/object.py @@ -501,10 +501,13 @@ class ShareableObjectMixin(models.Model): Returns: """ - directly_shared = self.shared_users.filter(id=user.id).exists() - team_shared = self.shared_teams.filter( - users__in=[user] - ).exists() + obj_shared_teams = self.shared_teams + obj_shared_users = self.shared_users + user_shared_teams = user.shared_teams + + directly_shared = obj_shared_users.filter(id=user.id).exists() + team_shared = (obj_shared_teams & user_shared_teams).exists() + is_shared = directly_shared or team_shared return is_shared