From 921bc2af2f17f94d025f7a9facff71bf522afc20 Mon Sep 17 00:00:00 2001
From: Michael Simon <simon@kit.edu>
Date: Tue, 23 May 2017 08:19:53 +0200
Subject: [PATCH] Also check ON_HOLD registries on login mechs

---
 .../kit/scc/webreg/service/impl/UserLoginServiceImpl.java  | 7 +++++++
 .../kit/scc/webreg/service/impl/UserUpdateServiceImpl.java | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserLoginServiceImpl.java b/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserLoginServiceImpl.java
index 0b8864187..b88e630c7 100644
--- a/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserLoginServiceImpl.java
+++ b/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserLoginServiceImpl.java
@@ -524,6 +524,13 @@ public class UserLoginServiceImpl implements UserLoginService, Serializable {
 			 */
 			registry = registryDao.findByServiceAndUserAndStatus(service, user, RegistryStatus.LOST_ACCESS);
 		}
+
+		if (registry == null) {
+			/*
+			 * Also check for On_hold registries. They should also be allowed to be rechecked.
+			 */
+			registry = registryDao.findByServiceAndUserAndStatus(service, user, RegistryStatus.ON_HOLD);
+		}
 		
 		return registry;
 	}
diff --git a/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserUpdateServiceImpl.java b/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserUpdateServiceImpl.java
index e9ca6dfba..8ad1a3479 100644
--- a/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserUpdateServiceImpl.java
+++ b/bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/UserUpdateServiceImpl.java
@@ -242,6 +242,13 @@ public class UserUpdateServiceImpl implements UserUpdateService, Serializable {
 			 */
 			registry = registryDao.findByServiceAndUserAndStatus(service, user, RegistryStatus.LOST_ACCESS);
 		}
+
+		if (registry == null) {
+			/*
+			 * Also check for On_hold registries. They should also be allowed to be rechecked.
+			 */
+			registry = registryDao.findByServiceAndUserAndStatus(service, user, RegistryStatus.ON_HOLD);
+		}
 		
 		return registry;
 	}
-- 
GitLab