From 5c88b9cd2c8a51879732efef1ca8ee17f48ca142 Mon Sep 17 00:00:00 2001
From: felmer <franz-josef.elmer@id.ethz.ch>
Date: Fri, 27 Apr 2018 12:31:02 +0200
Subject: [PATCH] SSDM-6061: reset display setting if a person will be
 deactivated

---
 .../server/asapi/v3/executor/person/UpdatePersonExecutor.java    | 1 +
 .../ch/systemsx/cisd/openbis/generic/server/AbstractServer.java  | 1 +
 .../generic/server/task/RevokeUserAccessMaintenanceTask.java     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java
index cc79511daf9..d0edd90d305 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java
@@ -129,6 +129,7 @@ public class UpdatePersonExecutor
         }
         IRoleAssignmentDAO roleAssignmenDAO = daoFactory.getRoleAssignmentDAO();
         person.setActive(false);
+        person.setDisplaySettings(null);
         person.clearAuthorizationGroups();
         // Direct iteration over role assignments could lead to a
         // ConcurrentModificationException because roleAssignmentDAO.deleteRoleAssignment()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
index 0c8be1bc0d4..8a889f811ab 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
@@ -442,6 +442,7 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp
             {
                 IRoleAssignmentDAO roleAssignmenDAO = getDAOFactory().getRoleAssignmentDAO();
                 person.setActive(false);
+                person.setDisplaySettings(null);
                 person.clearAuthorizationGroups();
                 // Direct iteration over role assignments could lead to a
                 // ConcurrentModificationException because roleAssignmentDAO.deleteRoleAssignment()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/RevokeUserAccessMaintenanceTask.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/RevokeUserAccessMaintenanceTask.java
index f6d839aa173..0dae85353b6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/RevokeUserAccessMaintenanceTask.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/RevokeUserAccessMaintenanceTask.java
@@ -150,6 +150,7 @@ public class RevokeUserAccessMaintenanceTask implements IMaintenanceTask
             // Change userId and disable
             person.setUserId(person.getUserId() + "-" + getTimeStamp());
             person.setActive(false);
+            person.setDisplaySettings(null);
             personDAO.updatePerson(person);
 
             operationLog.info("person " + userIdToRevoke + " has been revoked.");
-- 
GitLab