From 0bdaa88082091da4b0e86164ea93f1cd97fa5057 Mon Sep 17 00:00:00 2001
From: Heinrichs <Heinrichs@itc.rwth-aachen.de>
Date: Thu, 25 Feb 2021 16:14:15 +0100
Subject: [PATCH] Fix Search

---
 src/Project/Controllers/ProjectController.cs |  3 +--
 src/Project/Controllers/SearchController.cs  | 17 ++++++++---------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs
index 071556c..2c330b2 100644
--- a/src/Project/Controllers/ProjectController.cs
+++ b/src/Project/Controllers/ProjectController.cs
@@ -543,8 +543,7 @@ namespace Coscine.Api.Project.Controllers
 
             var project = _projectModel.StoreFromObject(projectObject, user, isRWTHMember);
 
-            if (projectObject.ParentId != null
-                && projectObject.ParentId != new Guid()
+            if (projectObject.ParentId != new Guid()
                 // for now, only an owner can add subprojects to projects
                 && _projectModel.HasAccess(user, _projectModel.GetById(projectObject.ParentId), UserRoles.Owner))
             {
diff --git a/src/Project/Controllers/SearchController.cs b/src/Project/Controllers/SearchController.cs
index c8fd290..a14435e 100644
--- a/src/Project/Controllers/SearchController.cs
+++ b/src/Project/Controllers/SearchController.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using Coscine.ApiCommons;
-using LinqToDB.Tools;
 using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
@@ -203,11 +202,11 @@ namespace Coscine.Api.Project.Controllers
                      from jpi in joinedPi.DefaultIfEmpty()
 
                      where p.Deleted == false &&
-                        ((!showSubProjects && p.Id.NotIn(allSubProjectsList)) ||
-                         (showSubProjects && p.Id.In(allSubProjectsList))) &&
-                         (jpr.UserId.Equals(userId) || jv.DisplayName.Equals("Public")) &&
-                         (projectId.Equals("") || p.Id.In(listOfSubprojects)) &&
-                         (searchQuery.Equals("") ||
+                        ((!showSubProjects && !allSubProjectsList.Contains(p.Id)) ||
+                         (showSubProjects && allSubProjectsList.Contains(p.Id))) &&
+                         (jpr.UserId == userId || jv.DisplayName == "Public") &&
+                         (projectId == "" || listOfSubprojects.Contains(p.Id)) &&
+                         (searchQuery == "" ||
                          p.ProjectName.Contains(searchQuery) ||
                          p.Description.Contains(searchQuery) ||
                          p.Keywords.Contains(searchQuery) ||
@@ -256,9 +255,9 @@ namespace Coscine.Api.Project.Controllers
                                from jrt in joinedRt.DefaultIfEmpty()
 
                                where jp.Deleted == false &&
-                                   (jpr.UserId.Equals(userId) || jv.DisplayName.Equals("Public")) &&
-                                   (projectId.Equals("") || jp.Id.In(listOfSubprojects)) &&
-                                   (searchQuery.Equals("") ||
+                                   (jpr.UserId == userId || jv.DisplayName == "Public") &&
+                                   (projectId == "" || listOfSubprojects.Contains(jd.Id)) &&
+                                   (searchQuery == "" ||
                                    r.ResourceName.Contains(searchQuery) ||
                                    r.DisplayName.Contains(searchQuery) ||
                                    r.ResourceName.Contains(searchQuery) ||
-- 
GitLab