From ffd7bc9f1dec497af1a79ce75fdafa286fcb4591 Mon Sep 17 00:00:00 2001
From: gnaegi <none@none>
Date: Tue, 29 May 2012 12:20:25 +0200
Subject: [PATCH] OO-275 different mail configurations

---
 olat.local.properties.sample                             | 9 ++++++++-
 .../org/olat/admin/user/delete/BulkDeleteController.java | 4 ++--
 .../calendar/ui/CalendarFileUploadController.java        | 2 +-
 .../file/filechooser/FileChooseCreateEditController.java | 2 +-
 .../core/commons/modules/bc/FileUploadController.java    | 4 ++--
 .../core/commons/modules/bc/commands/CmdCopyFile.java    | 2 +-
 .../core/commons/modules/bc/commands/CmdCreateFile.java  | 2 +-
 .../olat/core/commons/modules/bc/commands/CmdUpload.java | 2 +-
 .../org/olat/core/dispatcher/ErrorFeedbackMailer.java    | 4 ++--
 .../core/gui/exception/ExceptionWindowController.java    | 2 +-
 .../org/olat/modules/webFeed/ui/FeedFormController.java  | 4 ++--
 .../webFeed/ui/podcast/EpisodeFormController.java        | 4 ++--
 .../olat/repository/delete/service/DeletionModule.java   | 2 +-
 src/main/resources/serviceconfig/brasatoconfig.xml       | 3 +++
 src/main/resources/serviceconfig/olat.properties         | 9 +++++++--
 15 files changed, 35 insertions(+), 20 deletions(-)

diff --git a/olat.local.properties.sample b/olat.local.properties.sample
index 75890917010..29668d17435 100644
--- a/olat.local.properties.sample
+++ b/olat.local.properties.sample
@@ -60,8 +60,15 @@ smtp.pwd=
 fromemail=no-reply@your.domain
 # set this email to a mail address in your domain (used as reply-to address)
 adminemail=webmaster@your.domain
-# set this email to a mail address in your domain (for RS-reports)
+# set this email to a mail address in your domain (used for 'ask for help here' type of messages that do not have special address)
 supportemail=${adminemail}
+# set this email to a mail address in your domain (used to tell users how to apply for more quote disk space)
+quotaemail=${supportemail}
+# set this email to a mail address in your domain (used to notify when users are deleted from the system)
+deleteuseremail=${supportemail}
+# set this email to a mail address in your domain (used for red-screen error reports)
+erroremail=${adminemail}
+
 
 ########################################################################
 # OLAT identity settings
diff --git a/src/main/java/org/olat/admin/user/delete/BulkDeleteController.java b/src/main/java/org/olat/admin/user/delete/BulkDeleteController.java
index 80325984ce0..c57320063f3 100644
--- a/src/main/java/org/olat/admin/user/delete/BulkDeleteController.java
+++ b/src/main/java/org/olat/admin/user/delete/BulkDeleteController.java
@@ -150,8 +150,8 @@ public class BulkDeleteController extends BasicController {
 		String subject = translate("mail.subject");
 		String body = getTranslator().translate("mail.body", bodyArgs);
 		
-		ContactList cl = new ContactList(WebappHelper.getMailConfig("mailSupport"));
-		cl.add(WebappHelper.getMailConfig("mailSupport"));
+		ContactList cl = new ContactList(WebappHelper.getMailConfig("mailDeleteUser"));
+		cl.add(WebappHelper.getMailConfig("mailDeleteUser"));
 		cl.add(ureq.getIdentity());
 		List<ContactList> lstAddrTO = new ArrayList<ContactList>();
 		lstAddrTO.add(cl);
diff --git a/src/main/java/org/olat/commons/calendar/ui/CalendarFileUploadController.java b/src/main/java/org/olat/commons/calendar/ui/CalendarFileUploadController.java
index 2b4642a4767..98e3bc3db1f 100644
--- a/src/main/java/org/olat/commons/calendar/ui/CalendarFileUploadController.java
+++ b/src/main/java/org/olat/commons/calendar/ui/CalendarFileUploadController.java
@@ -148,7 +148,7 @@ public class CalendarFileUploadController extends BasicController {
 			// exceeded UL limit
 			Tracing.logWarn("IOException in CalendarFileUploadController: ", ioe, this.getClass());
 			String slimitKB = String.valueOf(fileUploadLimit);
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");//->{0} für e-mail support e-mail adresse
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");//->{0} für e-mail support e-mail adresse
 			getWindowControl().setError(translator.translate("cal.import.form.limit.error", new String[] { slimitKB, supportAddr }));
 			return;
 		} catch (OLATRuntimeException e) {
diff --git a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
index e324e0f5ad2..e2a03e1de37 100644
--- a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
+++ b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java
@@ -225,7 +225,7 @@ public class FileChooseCreateEditController extends BasicController{
 			mainPanel.pushContent(uploadComp);
 			fileChooser.put(mainPanel.getComponentName(), mainPanel);
 		} else { // quota exceeded or no valid upload comp.
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");
 			String msg = translate("QuotaExceededSupport", new String[] { supportAddr });
 			myContent.contextPut("quotaover", msg);
 			fileChooser.contextPut("quotaover", msg);
diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
index 8369d8a2fc2..65784a75262 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
@@ -733,7 +733,7 @@ public class FileUploadController extends FormBasicController {
 	 */
 	public void setMaxUploadSizeKB(int uploadLimitKB) {
 		this.uploadLimitKB = uploadLimitKB;
-		String supportAddr = WebappHelper.getMailConfig("mailSupport");
+		String supportAddr = WebappHelper.getMailConfig("mailQuota");
 		fileEl.setMaxUploadSizeKB(uploadLimitKB, "ULLimitExceeded", new String[] { Formatter.roundToString((uploadLimitKB+0f) / 1000, 1), supportAddr });
 	}
 
@@ -822,7 +822,7 @@ public class FileUploadController extends FormBasicController {
 		if (remainingQuotKB != -1) {
 			if (fileEl.getUploadFile().length() / 1024 > remainingQuotKB) {
 				fileEl.clearError();
-				String supportAddr = WebappHelper.getMailConfig("mailSupport");
+				String supportAddr = WebappHelper.getMailConfig("mailQuota");
 				getWindowControl().setError(translate("ULLimitExceeded", new String[] { Formatter.roundToString((uploadLimitKB+0f) / 1000, 1), supportAddr }));
 				return false;
 			}				
diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCopyFile.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCopyFile.java
index 47a0013ddfc..886e43f61d7 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCopyFile.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCopyFile.java
@@ -63,7 +63,7 @@ public class CmdCopyFile extends BasicController implements FolderCommand {
 		//check for quota
 		long quotaLeft = VFSManager.getQuotaLeftKB(folderComponent.getCurrentContainer());
 		if (quotaLeft < -2) {
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");
 			String msg = translate("QuotaExceededSupport", new String[] { supportAddr });
 			getWindowControl().setError(msg);
 			return null;
diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
index db759bb8e63..20970ebd63c 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
@@ -108,7 +108,7 @@ public class CmdCreateFile extends BasicController implements FolderCommand {
 		//check for quota
 		long quotaLeft = VFSManager.getQuotaLeftKB(folderComponent.getCurrentContainer());
 		if (quotaLeft <= 0 && quotaLeft != -1 ) {
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");
 			String msg = translate("QuotaExceededSupport", new String[] { supportAddr });
 			this.getWindowControl().setError(msg);
 			return null;
diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUpload.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUpload.java
index a903fd84944..5217eb994e6 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUpload.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUpload.java
@@ -150,7 +150,7 @@ public class CmdUpload extends BasicController implements FolderCommand {
 
 		//if folder full show error msg
 		if (remainingQuotaKB == 0 ) {
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");
 			String msg = translate("QuotaExceededSupport", new String[] { supportAddr });
 			getWindowControl().setError(msg);
 			return null;
diff --git a/src/main/java/org/olat/core/dispatcher/ErrorFeedbackMailer.java b/src/main/java/org/olat/core/dispatcher/ErrorFeedbackMailer.java
index 5dae196d15f..e9f2b3da392 100644
--- a/src/main/java/org/olat/core/dispatcher/ErrorFeedbackMailer.java
+++ b/src/main/java/org/olat/core/dispatcher/ErrorFeedbackMailer.java
@@ -86,7 +86,7 @@ public class ErrorFeedbackMailer implements Dispatcher {
 					out.append(iter.next());
 				}
 			}
-			String to = WebappHelper.getMailConfig("mailSupport");
+			String to = WebappHelper.getMailConfig("mailError");
 			String subject = "Feedback from Error Nr.: " + errorNr;
 			String body = feedback + "\n------------------------------------------\n\n --- from user: " + username
 					+ " ---" + out.toString();
@@ -102,7 +102,7 @@ public class ErrorFeedbackMailer implements Dispatcher {
 	private void handleException(HttpServletRequest request, Exception e) {
 		String feedback = request.getParameter("textarea");
 		String username = request.getParameter("username");
-		Tracing.logError("Error sending error feedback mail to olat support (" + WebappHelper.getMailConfig("mailSupport") + ") from: "
+		Tracing.logError("Error sending error feedback mail to OpenOLAT error support (" + WebappHelper.getMailConfig("mailError") + ") from: "
 				+ username + " with content: " + feedback, e, this.getClass());
 
 	}
diff --git a/src/main/java/org/olat/core/gui/exception/ExceptionWindowController.java b/src/main/java/org/olat/core/gui/exception/ExceptionWindowController.java
index 20480608836..213696a2ac5 100644
--- a/src/main/java/org/olat/core/gui/exception/ExceptionWindowController.java
+++ b/src/main/java/org/olat/core/gui/exception/ExceptionWindowController.java
@@ -189,7 +189,7 @@ public class ExceptionWindowController extends DefaultChiefController {
 		msg.contextPut("detailedmessage", detailedmessage);
 		// Cluster NodeId + E-Nr
 		msg.contextPut("errnum", Settings.getNodeInfo() + "-E"+ refNum);
-		msg.contextPut("supportaddress", WebappHelper.getMailConfig("mailSupport"));
+		msg.contextPut("supportaddress", WebappHelper.getMailConfig("mailError"));
 		msg.contextPut("time", formatter.formatDateAndTime(new Date()));
 
 		WindowBackOffice wbo = ws.getWindowManager().createWindowBackOffice("errormessagewindow", this);
diff --git a/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java b/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java
index 9311532a38b..21305648c39 100644
--- a/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java
+++ b/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java
@@ -162,7 +162,7 @@ class FeedFormController extends FormBasicController {
 			Long remainingQuotaKb = feedQuota.getRemainingSpace();
 			if (remainingQuotaKb != -1 && newFile.length() / 1024 > remainingQuotaKb) {
 				unsetImage();
-				String supportAddr = WebappHelper.getMailConfig("mailSupport");
+				String supportAddr = WebappHelper.getMailConfig("mailQuota");
 				Long uploadLimitKB = feedQuota.getUlLimitKB();
 				getWindowControl().setError(translate("ULLimitExceeded", new String[] { Formatter.roundToString(uploadLimitKB.floatValue() / 1024f, 1), supportAddr }));				
 			}
@@ -293,7 +293,7 @@ class FeedFormController extends FormBasicController {
 		file.limitToMimeType(mimeTypes, "feed.form.file.type.error.images", null);
 		
 		int maxFileSizeKB = feedQuota.getUlLimitKB().intValue();
-		String supportAddr = WebappHelper.getMailConfig("mailSupport");
+		String supportAddr = WebappHelper.getMailConfig("mailQuota");
 		file.setMaxUploadSizeKB(maxFileSizeKB, "ULLimitExceeded", new String[]{ new Long(maxFileSizeKB / 1024).toString(), supportAddr });
 
 		// if external feed, display feed-url text-element:
diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java b/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java
index a5c7fea1c42..8f2330ed34c 100644
--- a/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java
+++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java
@@ -196,7 +196,7 @@ public class EpisodeFormController extends FormBasicController {
 				Quota feedQuota = baseDir.getLocalSecurityCallback().getQuota();
 				Long remainingQuotaKb = feedQuota.getRemainingSpace();
 				if (remainingQuotaKb != -1 && file.getUploadFile().length() / 1024 > remainingQuotaKb) {
-					String supportAddr = WebappHelper.getMailConfig("mailSupport");
+					String supportAddr = WebappHelper.getMailConfig("mailQuota");
 					Long uploadLimitKB = feedQuota.getUlLimitKB();
 					getWindowControl().setError(translate("ULLimitExceeded", new String[] { Formatter.roundToString(uploadLimitKB.floatValue() / 1024f, 1), supportAddr }));
 				}
@@ -267,7 +267,7 @@ public class EpisodeFormController extends FormBasicController {
 		file.addActionListener(this, FormEvent.ONCHANGE);
 		if(baseDir.getLocalSecurityCallback() != null && baseDir.getLocalSecurityCallback().getQuota() != null) {
 			Long uploadLimitKB = baseDir.getLocalSecurityCallback().getQuota().getUlLimitKB();
-			String supportAddr = WebappHelper.getMailConfig("mailSupport");
+			String supportAddr = WebappHelper.getMailConfig("mailQuota");
 			file.setMaxUploadSizeKB(uploadLimitKB.intValue(), "ULLimitExceeded", new String[] { Formatter.roundToString((uploadLimitKB.floatValue()) / 1024f, 1), supportAddr });
 		}
 		
diff --git a/src/main/java/org/olat/repository/delete/service/DeletionModule.java b/src/main/java/org/olat/repository/delete/service/DeletionModule.java
index 02f59114090..1751f9e17ea 100644
--- a/src/main/java/org/olat/repository/delete/service/DeletionModule.java
+++ b/src/main/java/org/olat/repository/delete/service/DeletionModule.java
@@ -79,7 +79,7 @@ public class DeletionModule extends AbstractOLATModule {
 	 */
 	public void init() {
 		archiveRootPath = getStringConfigParameter(CONF_ARCHIVE_ROOT_PATH, System.getProperty("java.io.tmpdir") + File.separator+"olatdata"+File.separator + "deleted_archive", false);
-		emailResponseTo = getStringConfigParameter(CONF_DELETE_EMAIL_RESPONSE_TO_USER_NAME, WebappHelper.getMailConfig("mailSupport"), false);
+		emailResponseTo = getStringConfigParameter(CONF_DELETE_EMAIL_RESPONSE_TO_USER_NAME, WebappHelper.getMailConfig("mailDeleteUser"), false);
 		
 		if (!emailResponseTo.contains("@")) {
 			Identity identity = baseSecurityManager.findIdentityByName(emailResponseTo);
diff --git a/src/main/resources/serviceconfig/brasatoconfig.xml b/src/main/resources/serviceconfig/brasatoconfig.xml
index 37bff47c4f6..573ab275548 100644
--- a/src/main/resources/serviceconfig/brasatoconfig.xml
+++ b/src/main/resources/serviceconfig/brasatoconfig.xml
@@ -24,6 +24,9 @@
 						<entry key="mailFrom" value="${fromemail}"/>
 						<entry key="mailReplyTo" value="${adminemail}"/>
 						<entry key="mailSupport" value="${supportemail}"/>
+						<entry key="mailQuota" value="${quotaemail}"/>
+						<entry key="mailDeleteUser" value="${deleteuseremail}"/>
+						<entry key="mailError" value="${erroremail}"/>
 						<entry key="mailAttachmentMaxSize" value="${mail.attachment.maxsize}"/>
 					</map>
 				</property>
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index 2be079fbb16..dee3779dcd3 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -110,9 +110,14 @@ smtp.sslCheckCertificate=false
 fromemail=no-reply@your.domain
 # set this email to a mail address in your domain (used as reply-to address)
 adminemail=webmaster@your.domain
-# set this email to a mail address in your domain (for RS-reports)
+# set this email to a mail address in your domain (used for 'ask for help here' type of messages that do not have special address)
 supportemail=${adminemail}
-
+# set this email to a mail address in your domain (used to tell users how to apply for more quote disk space)
+quotaemail=${supportemail}
+# set this email to a mail address in your domain (used to notify when users are deleted from the system)
+deleteuseremail=${supportemail}
+# set this email to a mail address in your domain (used for red-screen error reports)
+erroremail=${adminemail}
 # maximum size for email attachements (in MB)
 mail.attachment.maxsize=5
 # if mail intern is enabled you must make sure, that your mysql-db accepts large packets to also save the attachments:
-- 
GitLab