From e1546efabb3af986a36f3623f7a70ecdf18ee924 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Fri, 26 Jun 2020 15:13:49 +0200
Subject: [PATCH] OO-4630: Show add/remove user buttons visibility in
 appointment findings

---
 .../ui/AppointmentListEditController.java        | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/olat/course/nodes/appointments/ui/AppointmentListEditController.java b/src/main/java/org/olat/course/nodes/appointments/ui/AppointmentListEditController.java
index 2dd806fae8b..4f9f28076f0 100644
--- a/src/main/java/org/olat/course/nodes/appointments/ui/AppointmentListEditController.java
+++ b/src/main/java/org/olat/course/nodes/appointments/ui/AppointmentListEditController.java
@@ -138,9 +138,15 @@ public class AppointmentListEditController extends AppointmentListController {
 			row.setStatusCSS("o_ap_status_" + appointment.getStatus().name());
 		}
 		
-		boolean removeUser = Type.finding == topic.getType()
-				? participations.size() > 0 && Status.confirmed == appointment.getStatus()
-				: participations.size() > 0;
+		boolean addUser = freeParticipations == null || freeParticipations.intValue() > 0;
+		boolean removeUser = participations.size() > 0;
+		if (Type.finding == topic.getType() && !noAppointmentConfirmed && Appointment.Status.confirmed != appointment.getStatus()) {
+			addUser = false;
+			removeUser = false;
+		}
+		if (addUser) {
+			forgeAddUserLink(row);
+		}
 		if (removeUser) {
 			forgeRemoveUserLink(row);
 		}
@@ -160,9 +166,7 @@ public class AppointmentListEditController extends AppointmentListController {
 				forgeConfirmLink(row, confirmable);
 			}
 		}
-		if (freeParticipations == null || freeParticipations.intValue() > 0) {
-			forgeAddUserLink(row);
-		}
+		
 		forgeDeleteLink(row);
 		forgeEditLink(row);
 		
-- 
GitLab