From 47769f4e6536a08712858763ee199b67390fdca0 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Thu, 12 Mar 2020 08:07:31 +0100
Subject: [PATCH] no-jira: log audit add / remove owner of question, delete
 question

---
 .../org/olat/modules/qpool/manager/QuestionItemDAO.java  | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java b/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java
index 5b3d2922c2c..c4739b487af 100644
--- a/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java
+++ b/src/main/java/org/olat/modules/qpool/manager/QuestionItemDAO.java
@@ -29,6 +29,7 @@ import javax.persistence.EntityManager;
 import javax.persistence.LockModeType;
 import javax.persistence.TypedQuery;
 
+import org.apache.logging.log4j.Logger;
 import org.olat.basesecurity.GroupRoles;
 import org.olat.basesecurity.SecurityGroup;
 import org.olat.basesecurity.SecurityGroupMembershipImpl;
@@ -36,6 +37,7 @@ import org.olat.basesecurity.manager.SecurityGroupDAO;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.commons.services.mark.impl.MarkImpl;
 import org.olat.core.id.Identity;
+import org.olat.core.logging.Tracing;
 import org.olat.group.BusinessGroup;
 import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.QuestionItem2Resource;
@@ -60,6 +62,8 @@ import org.springframework.stereotype.Service;
 @Service("questionDao")
 public class QuestionItemDAO {
 	
+	private static final Logger log = Tracing.createLoggerFor(QuestionItemDAO.class);
+	
 	@Autowired
 	private DB dbInstance;
 	@Autowired
@@ -177,6 +181,8 @@ public class QuestionItemDAO {
 		for(Identity author:authors) {
 			if(!securityGroupDao.isIdentityInSecurityGroup(author, secGroup)) {
 				securityGroupDao.addIdentityToSecurityGroup(author, secGroup);
+				log.info(Tracing.M_AUDIT, "Added owner identity '{}' to item with key {} ({}, {})",
+						author.getKey(), item.getKey(), item.getTitle(), item.getTopic());
 			}
 		}
 		dbInstance.commit();
@@ -190,6 +196,8 @@ public class QuestionItemDAO {
 		for(Identity author:authors) {
 			if(securityGroupDao.isIdentityInSecurityGroup(author, secGroup)) {
 				securityGroupDao.removeIdentityFromSecurityGroup(author, secGroup);
+				log.info(Tracing.M_AUDIT, "Removed owner identity '{}' from item with key {} ({}, {})",
+						author.getKey(), item.getKey(), item.getTitle(), item.getTopic());
 			}
 		}
 		dbInstance.commit();
@@ -261,6 +269,7 @@ public class QuestionItemDAO {
 		for(QuestionItemShort item:items) {
 			QuestionItem refItem = loadLazyReferenceId(item.getKey());
 			if(refItem != null) {
+				log.info(Tracing.M_AUDIT, "Delete question item {} ({}, {})", item.getKey(), item.getTitle(), item.getTopic());
 				em.remove(refItem);
 			}
 		}
-- 
GitLab