From bd4b88f815934e4fde4c44bc34af2196db5075cf Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 8 Feb 2019 14:01:02 +0100
Subject: [PATCH] user global privileges are not reset after project create

---
 .../services/impl/ProjectService.java         |  1 -
 .../services/impl/ProjectServiceTest.java     | 26 +++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
index d7f3d61c05..115605178b 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -475,7 +475,6 @@ public class ProjectService implements IProjectService {
     for (User user : userDao.getAll()) {
       if (!processedUser.contains(user)) {
         processedUser.add(user);
-        userService.createDefaultBasicPrivilegesForUser(user);
         userService.createDefaultProjectPrivilegesForUser(project, user);
       }
     }
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
index 098127f69e..39ac97679e 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
@@ -857,6 +857,32 @@ public class ProjectServiceTest extends ServiceTestFunctions {
     }
   }
 
+  @Test
+  public void testCheckGlobalPrivilegesAfterCreateProject() throws Exception {
+    try {
+      createUser();
+      for (PrivilegeType type : PrivilegeType.values()) {
+        if (type.getPrivilegeObjectType() == null) {
+          userService.setUserPrivilege(user, type, 2);
+        }
+      }
+
+      String filename = "testFiles/complexModel/empty_complex_model.zip";
+      Project project = createComplexProject(projectId, filename);
+
+      for (PrivilegeType type : PrivilegeType.values()) {
+        if (type.getPrivilegeObjectType() == null) {
+          assertEquals("Global privilege was modified: " + type, 2, userService.getUserPrivilegeLevel(user, type));
+        }
+      }
+
+      projectService.removeProject(project, null, false, adminToken);
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
   @Test
   public void testUpdateProjectWithoutModel() throws Exception {
     try {
-- 
GitLab