mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug6105: showing takedown notice dialog, sending e-mail
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
emailValidationSubject=Mail Validation
|
||||
emailValidationMessage=Please click on the link below to validate your e-mail address for user {0}.
|
||||
takedownRequestConfirmation=Dear {0},\nan e-mail with your media take-down request has been sent to {1}. The message we sent on your behalf was:\n\n{2}
|
||||
takedownRequestForImageInTagColumn=Tag column in race board, {0}
|
||||
@@ -1,2 +1,4 @@
|
||||
emailValidationSubject=Mail-Validierung
|
||||
emailValidationMessage=Bitte den folgenden Link benutzen, um die e-Mail Adresse für den Benutzer {0} zu validieren.
|
||||
emailValidationMessage=Bitte den folgenden Link benutzen, um die e-Mail Adresse für den Benutzer {0} zu validieren.
|
||||
takedownRequestConfirmation=Lieber {0},\neine e-Mail mit dem Antrag zur Löschung von Medieninhalten wurde an die Adresse {1} gesendet. Die Nachricht lautet:\n\n{2}
|
||||
takedownRequestForImageInTagColumn=Kommentarspalte im "Race Board", {0}
|
||||
@@ -25,6 +25,7 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.http.HttpHeaderUtil;
|
||||
import com.sap.sse.common.mail.MailException;
|
||||
import com.sap.sse.common.media.TakedownNoticeRequestContext;
|
||||
import com.sap.sse.replication.ReplicableWithObjectInputStream;
|
||||
import com.sap.sse.security.impl.ReplicableSecurityService;
|
||||
import com.sap.sse.security.impl.SecurityServiceImpl;
|
||||
@@ -910,4 +911,6 @@ public interface SecurityService extends ReplicableWithObjectInputStream<Replica
|
||||
* will establish (if not yet locked) or extend the locking duration for the combination.
|
||||
*/
|
||||
boolean isClientIPLockedForBearerTokenAuthentication(String clientIP);
|
||||
|
||||
void fileTakedownNotice(TakedownNoticeRequestContext takedownNoticeRequestContext) throws MailException;
|
||||
}
|
||||
|
||||
@@ -96,6 +96,7 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.http.HttpHeaderUtil;
|
||||
import com.sap.sse.common.mail.MailException;
|
||||
import com.sap.sse.common.media.TakedownNoticeRequestContext;
|
||||
import com.sap.sse.concurrent.LockUtil;
|
||||
import com.sap.sse.concurrent.NamedReentrantReadWriteLock;
|
||||
import com.sap.sse.i18n.impl.ResourceBundleStringMessagesImpl;
|
||||
@@ -3392,4 +3393,39 @@ implements ReplicableSecurityService, ClearStateTestSupport {
|
||||
public void unlockSubscriptionsForUser(final User user) {
|
||||
LockUtil.unlockAfterWrite(subscriptionLocksForUsers.computeIfAbsent(user, u->new NamedReentrantReadWriteLock("Subscriptions lock for user "+user.getName(), /* fair */ false)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fileTakedownNotice(TakedownNoticeRequestContext takedownNoticeRequestContext) throws MailException {
|
||||
final String SUPPORT_MAIL_ADDRESS = "support@sapsailing.com";
|
||||
final User user = getUserByName(takedownNoticeRequestContext.getUsername());
|
||||
final String email = user.getEmail();
|
||||
final StringBuilder sb = new StringBuilder()
|
||||
.append("User ")
|
||||
.append(takedownNoticeRequestContext.getUsername())
|
||||
.append(" with e-mail ")
|
||||
.append(email)
|
||||
.append(" requests that the media with URL ")
|
||||
.append(takedownNoticeRequestContext.getContentUrl())
|
||||
.append(" used in context ")
|
||||
.append(messages.get(Locale.ENGLISH, takedownNoticeRequestContext.getContextDescriptionMessageKey(), takedownNoticeRequestContext.getContextDescriptionMessageParameter()))
|
||||
.append(" be removed from the site. The user provides the following comment:\n\n")
|
||||
.append(" \"")
|
||||
.append(takedownNoticeRequestContext.getReportingUserComment())
|
||||
.append("\"\n\n")
|
||||
.append("The claim is of nature ")
|
||||
.append(takedownNoticeRequestContext.getNatureOfClaim())
|
||||
.append(".");
|
||||
if (!Util.isEmpty(takedownNoticeRequestContext.getSupportingURLs())) {
|
||||
sb.append("\n\nThe user provided the following additional URLs to substantiate or prove the claim:\n");
|
||||
for (final String url : takedownNoticeRequestContext.getSupportingURLs()) {
|
||||
sb.append(" - ");
|
||||
sb.append(url);
|
||||
sb.append("\n");
|
||||
}
|
||||
}
|
||||
final String message = sb.toString();
|
||||
getMailService().sendMail(SUPPORT_MAIL_ADDRESS, "Media Take-Down Request", message);
|
||||
getMailService().sendMail(email, "Media Take-Down Request Confirmation", messages.get(user.getLocaleOrDefault(), "takedownRequestConfirmation",
|
||||
Util.hasLength(user.getFullName().trim()) ? user.getFullName() : user.getName(), SUPPORT_MAIL_ADDRESS, message));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user