Commit 6dfb0fac authored by Simon Reis's avatar Simon Reis
Browse files

htmlMail-Template adjusted

parent 7aeb4649
......@@ -16,21 +16,42 @@ package org.eclipse.openk.gridfailureinformation.config;
import lombok.extern.log4j.Log4j2;
import org.eclipse.openk.gridfailureinformation.service.DistributionTextPlaceholderService;
import org.eclipse.openk.gridfailureinformation.util.ResourceLoaderBase;
import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionTextPlaceholderDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Log4j2
@Configuration
public class ResourceConfig {
private static final String EMAIL_BTN_TEMPLATE_PATH = "email/emailTemplateBtn.html";
@Value("${spring.settings.isUseHtmlEmailBtnTemplate:true}")
private boolean isUseHtmlEmailBtnTemplate;
@Autowired
DistributionTextPlaceholderService placeholderService;
private String htmlEmailBtnTemplate;
@Bean
public DistributionTextPlaceholderDto placeholderLoader() {
return placeholderService.getPlaceholder();
}
@PostConstruct
private void init(){
if (isUseHtmlEmailBtnTemplate) {
htmlEmailBtnTemplate = new ResourceLoaderBase().loadStringFromResource(EMAIL_BTN_TEMPLATE_PATH);
}
}
public String getHtmlEmailBtnTemplate() {
return htmlEmailBtnTemplate;
}
}
......@@ -42,6 +42,7 @@ import org.eclipse.openk.gridfailureinformation.repository.FailureInformationRep
import org.eclipse.openk.gridfailureinformation.repository.StatusRepository;
import org.eclipse.openk.gridfailureinformation.util.ExternalStatusCalculator;
import org.eclipse.openk.gridfailureinformation.util.GroupMemberPlzFilter;
import org.eclipse.openk.gridfailureinformation.util.ResourceLoaderBase;
import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionGroupMemberDto;
import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionTextPlaceholderDto;
import org.eclipse.openk.gridfailureinformation.viewmodel.FailureInformationDto;
......@@ -57,6 +58,8 @@ import org.springframework.validation.annotation.Validated;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
......@@ -138,6 +141,9 @@ public class ExportService {
@Value("${distribution-group-publisher.name}")
private String publisherDistributionGroup;
@Value("${spring.settings.isUseHtmlEmailBtnTemplate:true}")
private boolean isUseHtmlEmailBtnTemplate;
public boolean exportFailureInformation(UUID uuid, String[] targetChannels, GfiProcessState processState){
log.info("Start exporting failureInformation with uuid: " + uuid);
countExportedMessages = 0;
......@@ -526,9 +532,18 @@ public class ExportService {
contentReplaceMap.put(placeholderDto.getRadius(), radius.getRadius().toString());
}
createDirectFailureLink(tblFailureInfo, placeholderDto);
}
private void createDirectFailureLink(TblFailureInformation tblFailureInfo,
DistributionTextPlaceholderDto placeholderDto) {
String directFailureLink = authNAuthService.getDirectMeasureLink(tblFailureInfo.getUuid().toString());
if (isUseHtmlEmailBtnTemplate) {
String htmlEmailBtnTemplate = resourceConfig.getHtmlEmailBtnTemplate();
directFailureLink = htmlEmailBtnTemplate.replace(placeholderDto.getDirectFailureLink(), directFailureLink);
}
contentReplaceMap.put(placeholderDto.getDirectFailureLink(), directFailureLink);
}
private String getStatusExtern(TblFailureInformation tblFailureInfo) {
......
......@@ -36,10 +36,10 @@ public class ResourceLoaderBase {
private String stream2String(InputStream is, String filename) {
StringWriter writer = new StringWriter();
BOMInputStream bomInputStream = new BOMInputStream(is, false, ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE,
ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE);
try {
try (BOMInputStream bomInputStream = new BOMInputStream(is, false,
ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE,
ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE)) {
IOUtils.copy(bomInputStream, writer, StandardCharsets.UTF_8.name());
} catch (IOException e) {
log.error("Fehler in stream2String()", e);
......
......@@ -54,45 +54,30 @@ spring:
overviewMapInitialLongitude: 8.423207
daysInPastToShowClosedInfos: 365
dataExternInitialVisibility: hide
isUseHtmlEmailBtnTemplate: true
# Mail settings (Default templates)
emailSubjectPublishInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status veröffentlicht geändert."
emailContentPublishInit: "Veröffentlicht [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihre Admin-Meister-Team der PTA GmbH"
emailContentPublishInit: "<p><b>Veröffentlicht [TEST]</b></p>
<p>Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
emailSubjectUpdateInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status aktualisiert geändert."
emailContentUpdateInit: "Aktualisiert [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihr Admin-Meister-Team der PTA GmbH"
emailContentUpdateInit: "<p><b>Aktualisiert [TEST]</b></p>
<p>Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
emailSubjectCompleteInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status beendet geändert."
emailContentCompleteInit: "Beendet [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihr Admin-Meister-Team der PTA GmbH"
emailContentCompleteInit: "<p><b>Beendet [TEST]</b></p>
<p>Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
visibilityConfiguration:
fieldVisibility:
......
......@@ -13,8 +13,8 @@
backend-version: 1.0.0
spring:
datasource:
url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevelop
#url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevServer
#url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevelop
url: jdbc:postgresql://entopticadirx:5432/GridFailureInfoDevServer
username: ${GFI_DB_USERNAME}
password: ${GFI_DB_PASSWORD}
max-active: 5
......@@ -50,44 +50,30 @@ spring:
overviewMapInitialLongitude: 8.423207
daysInPastToShowClosedInfos: 365
dataExternInitialVisibility: hide
isUseHtmlEmailBtnTemplate: true
# Initial emailsubject and content
emailSubjectPublishInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status veröffentlicht geändert."
emailContentPublishInit: "Veröffentlicht [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihre Admin-Meister-Team der PTA GmbH"
emailContentPublishInit: "<b>Veröffentlicht [TEST]</b><br>
<p> Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
emailSubjectUpdateInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status aktualisiert geändert."
emailContentUpdateInit: "Aktualisiert [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihr Admin-Meister-Team der PTA GmbH"
emailContentUpdateInit: "<b>Aktualisiert [TEST]</b><br>
<p> Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
emailSubjectCompleteInit: "Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status beendet geändert."
emailContentCompleteInit: "Beendet [TEST]\n
Sehr geehrte Damen und Herren,\n
die im Betreff genannte Meldung ist über folgenden Link erreichbar:\n
$Direkter_Link_zur_Störung$\n
Mit freundlichen Grüßen
Ihr Admin-Meister-Team der PTA GmbH"
emailContentCompleteInit: "<b>Beendet [TEST]</b><br>
<p> Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>"
visibilityConfiguration:
fieldVisibility:
......
......@@ -372,6 +372,14 @@ ALTER TABLE public.TBL_DISTRIBUTION_GROUP
OWNER TO GFI_SERVICE;
GRANT ALL ON TABLE public.TBL_DISTRIBUTION_GROUP TO GFI_SERVICE;
INSERT INTO public.tbl_distribution_group(UUID, NAME, EMAIL_SUBJECT_PUBLISH, DISTRIBUTION_TEXT_PUBLISH)
VALUES('f71660e2-aee1-11ea-b3de-0242ac130004', 'Veröffentlicher', 'Bitte Anpassen - Das geplannte Ende der Störung (Sparte: $Sparte$) wird demnächst erreicht. Der Statuswechsel erfolgt automatisch.',
'<b>Veröffentlichen</b><br>
<p>Sehr geehrte Damen und Herren,</p>
<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
$Direkter_Link_zur_Störung$
<p>Mit freundlichen Grüßen</p>
<p>Ihr Admin-Meister-Team der PTA GmbH</p>');
-- ---------------------------------------------
-- TABLE TBL_DISTRIBUTION_GROUP_MEMBER
......@@ -402,19 +410,6 @@ ALTER TABLE public.TBL_DISTRIBUTION_GROUP_MEMBER
OWNER TO GFI_SERVICE;
GRANT ALL ON TABLE public.TBL_DISTRIBUTION_GROUP_MEMBER TO GFI_SERVICE;
INSERT INTO public.tbl_distribution_group(UUID, NAME, EMAIL_SUBJECT_PUBLISH, DISTRIBUTION_TEXT_PUBLISH)
VALUES('f71660e2-aee1-11ea-b3de-0242ac130004', 'Veröffentlicher', 'Subject: Bitte Anpassen - Das geplannte Ende der Störung (Sparte: $Sparte$) wird demnächst erreicht. Der Statuswechsel erfolgt automatisch.',
'Body:
Veröffentlicher
Sehr geehrte Damen und Herren,
die im Betreff genannte Meldung ist über folgenden Link erreichbar:
$Direkter_Link_zur_Störung$
Mit freundlichen Grüßen');
-- ---------------------------------------------
-- TABLE TBL_FAILURE_INFORMATION_DISTRIBUTION_GROUP
-- ---------------------------------------------
......
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; box-sizing: border-box;">
<tbody>
<tr>
<td align="center" style="font-family: sans-serif; font-size: 14px; vertical-align: top; padding: 15px 0;">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: auto;">
<tbody>
<tr>
<td class="btn btn-primary" style="font-family: sans-serif; font-size: 14px; vertical-align: top; background-color: #337ab7; border-radius: 5px; text-align: center; padding: 0;">
<a href="$Direkter_Link_zur_Störung$" target="_blank" style="display: inline-block; color: #ffffff; background-color: #337ab7; border: solid 1px #2e6da4; border-radius: 5px; box-sizing: border-box; cursor: pointer; text-decoration: none; font-size: 14px; font-weight: bold; margin: 0; padding: 12px 25px; text-transform: capitalize; border-color: #2e6da4;">zur Störungsmeldung</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
......@@ -36,10 +36,10 @@ public class ResourceLoaderBase {
private String stream2String(InputStream is, String filename) {
StringWriter writer = new StringWriter();
BOMInputStream bomInputStream = new BOMInputStream(is, false, ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE,
ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE);
try {
try (BOMInputStream bomInputStream = new BOMInputStream(is, false,
ByteOrderMark.UTF_8, ByteOrderMark.UTF_16BE, ByteOrderMark.UTF_16LE,
ByteOrderMark.UTF_32BE, ByteOrderMark.UTF_32LE)) {
IOUtils.copy(bomInputStream, writer, StandardCharsets.UTF_8.name());
} catch (IOException e) {
log.error("Fehler in stream2String()", e);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment