From ac480532ea183c35bb0c2215628119c90c551ff1 Mon Sep 17 00:00:00 2001 From: Marcel Nellesen <nellesen@itc.rwth-aachen.de> Date: Tue, 27 Oct 2020 10:31:51 +0100 Subject: [PATCH] Fix: Fixed HasAccessMethod (coscine/issues#1035) --- src/Database/Models/ResourceModel.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Database/Models/ResourceModel.cs b/src/Database/Models/ResourceModel.cs index 552bdc8..4e45c10 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) -- GitLab