diff --git a/src/Database/Models/ResourceModel.cs b/src/Database/Models/ResourceModel.cs
index 552bdc8b7531f4f13ce9277f4561a97442ae16af..4e45c103b4a08a6375a8539db6e660c85d772fe9 100644
--- a/src/Database/Models/ResourceModel.cs
+++ b/src/Database/Models/ResourceModel.cs
@@ -175,13 +175,13 @@ namespace Coscine.Database.Models
public bool HasAccess(User user, Resource resource, params string[] allowedAccess)
{
+ var projectId = new ProjectResourceModel().GetProjectForResource(resource.Id);
IEnumerable<string> allowedAccessLabels = allowedAccess.Select(x => x.ToLower().Trim()).ToList();
return DatabaseConnection.ConnectToDatabase((db) => (from relation in db.ProjectRoles
- where relation.Project.ProjectResourceProjectIdIds != null && relation.Project.ProjectResourceProjectIdIds
- .Any((projectResource) => projectResource.Resource.Id == resource.Id)
- && relation.User.Id == user.Id
- && allowedAccessLabels.Contains(relation.Role.DisplayName.ToLower())
- select relation).Any());
+ where relation.ProjectId != projectId
+ && relation.User.Id == user.Id
+ && allowedAccessLabels.Contains(relation.Role.DisplayName.ToLower())
+ select relation).Any());
}
public int UpdateByObject(Resource resource, ResourceObject resourceObject)