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