2017-05-17 14:21:23 +02:00
|
|
|
package org.gcube.portal.mailing.templates;
|
|
|
|
|
|
|
|
import java.util.Base64;
|
|
|
|
|
|
|
|
import org.gcube.common.portal.GCubePortalConstants;
|
|
|
|
import org.gcube.common.portal.mailing.templates.AbstractTemplate;
|
|
|
|
import org.gcube.common.portal.mailing.templates.Template;
|
|
|
|
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
|
|
|
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @author Massimiliano Assante, CNR-ISTI
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class TemplateWelcomeCreatedAccount extends AbstractTemplate implements Template {
|
|
|
|
private final String encodedTemplateHTML = "PCEtLSBJbmxpbmVyIEJ1aWxkIFZlcnNpb24gNDM4MGI3NzQxYmI3NTlkNmNiOTk3NTQ1ZjNhZGQyMWFkNDhmMDEwYiAtLT4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9Im1pbi1oZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjMgIWltcG9ydGFudDsiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIiAvPg0KICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+DQogIDwvaGVhZD4NCiAgPGJvZHkgc3R5bGU9IndpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogMTAwJTsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGJnY29sb3I9IiNmM2YzZjMgIWltcG9ydGFudCI+DQogIA0KICA8dGFibGUgY2xhc3M9ImJvZHkiIGRhdGEtbWFkZS13aXRoLWZvdW5kYXRpb249IiIgc3R5bGU9ImJvcmRlci1zcGFjaW5nOiAwOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IiBiZ2NvbG9yPSIjZjNmM2YzICFpbXBvcnRhbnQiPjx0ciBzdHlsZT0idmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsiIGFsaWduPSJsZWZ0Ij48dGQgY2xhc3M9ImZsb2F0LWNlbnRlciIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtaHlwaGVuczogYXV0bzsgLW1vei1oeXBoZW5zOiBhdXRvOyBoeXBoZW5zOiBhdXRvOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IG5vbmU7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMDsiPg0KICAgICAgICAgIDxjZW50ZXIgZGF0YS1wYXJzZWQ9IiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDU4MHB4OyI+DQogICAgICAgICAgICA8dGFibGUgYWxpZ249ImNlbnRlciIgY2xhc3M9IndyYXBwZXIgaGVhZGVyIGZsb2F0LWNlbnRlciIgc3R5bGU9IndpZHRoOiAxMDAlOyBib3JkZXItc3BhY2luZzogMDsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgdmVydGljYWwtYWxpZ246IHRvcDsgdGV4dC1hbGlnbjogY2VudGVyOyBmbG9hdDogbm9uZTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7Ij48dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDA7IiBhbGlnbj0ibGVmdCI+PHRkIGNsYXNzPSJ3cmFwcGVyLWlubmVyIiBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IC1tb3otaHlwaGVuczogYXV0bzsgaHlwaGVuczogYXV0bzsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAxLjM7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4NCiAgICAgICAgICAgICAgICAgIDx0YWJsZSBhbGlnbj0iY2VudGVyIiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0iYm9yZGVyLXNwYWNpbmc6IDA7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHRleHQtYWxpZ246IGluaGVyaXQ7IHdpZHRoOiA1ODBweDsgYmFja2dyb3VuZDogI2ZlZmVmZTsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDA7IiBiZ2NvbG9yPSIjZmVmZWZlIj48dGJvZHk+PHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAwOyIgYWxpZ249ImxlZnQiPjx0ZCBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LWh5cGhlbnM6IGF1dG87IC1tb3otaHlwaGVuczogYXV0bzsgaHlwaGVuczogYXV0bzsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogIzBhMGEwYTsgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbn
|
|
|
|
private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSGkge3tVU0VSX05BTUV9fSwNCnt7TUFOQUdFUl9VU0VSX0ZVTExOQU1FfX0gaGFzIGp1c3QgY3JlYXRlZCBhIG5ldyBhY2NvdW50IGZvciB5b3UgdG8gYWNjZXNzIDxhIGhyZWY9Int7VlJFX1VSTH19Ij57e1NFTEVDVEVEX1ZSRV9OQU1FfX08L2E+IFZSRS4NCg0KWW91IGNhbiBTaWduIGluIG5vdyB1c2luZyB5b3UgdGhlIGZvbGxvd2luZyBjcmVkZW50aWFscw0KRW1haWw6IHt7VVNFUl9FTUFJTH19DQpUZW1wb3JhcnkgcGFzc3dvcmQ6IHRyYWluaW5nMQ0KDQpHbyB0byB7e1ZSRV9VUkx9fSB0byBzaWduIGluLg0KDQpQbGVhc2Ugbm90ZTogeW91IHdpbGwgYmUgYXNrZWQgdG8gcmVzZXQgdGhlIHRlbXBvcmFyeSBwYXNzd29yZCBhYm92ZSBhdCB5b3VyIGZpcnN0IHN1Y2Nlc2Z1bCBsb2dpbiBhdHRlbXB0IHRvIHt7R0FURVdBWV9OQU1FfX06IHt7R0FURVdBWV9VUkx9fTwvcD4NCg==";
|
|
|
|
|
2020-09-24 16:42:03 +02:00
|
|
|
private String theCreatedAccountEmail;
|
|
|
|
private String theCreatedAccountName;
|
2017-05-17 14:21:23 +02:00
|
|
|
private GCubeUser theManagerUser;
|
|
|
|
private GCubeGroup theVRE;
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param gatewayName
|
|
|
|
* @param gatewayURL
|
|
|
|
* @param theCreatedAccountUser
|
|
|
|
* @param theManagerUser
|
|
|
|
* @param theVRE
|
|
|
|
*/
|
2020-09-24 16:42:03 +02:00
|
|
|
public TemplateWelcomeCreatedAccount(
|
|
|
|
String gatewayName,
|
|
|
|
String gatewayURL,
|
|
|
|
String theCreatedAccountEmail,
|
|
|
|
String theCreatedAccountName,
|
|
|
|
GCubeUser theManagerUser,
|
|
|
|
GCubeGroup theVRE) {
|
2017-05-17 14:21:23 +02:00
|
|
|
super(gatewayName, gatewayURL);
|
2020-09-24 16:42:03 +02:00
|
|
|
this.theCreatedAccountEmail = theCreatedAccountEmail;
|
|
|
|
this.theCreatedAccountName = theCreatedAccountName;
|
2017-05-17 14:21:23 +02:00
|
|
|
this.theManagerUser = theManagerUser;
|
|
|
|
this.theVRE = theVRE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String compile(String templateContent) {
|
|
|
|
String signUpURL = new StringBuffer(getGatewayURL())
|
|
|
|
.append(GCubePortalConstants.PREFIX_GROUP_URL)
|
|
|
|
.append("/").append(this.theVRE.getGroupName().toLowerCase()).toString();
|
|
|
|
|
|
|
|
long vreLogoId = theVRE.getLogoId();
|
|
|
|
String vreLogoURL = getGatewayURL() + getGroupManagerImpl().getGroupLogoURL(vreLogoId);
|
|
|
|
|
|
|
|
return new String(Base64.getDecoder().decode(templateContent))
|
|
|
|
|
|
|
|
.replace("{{SELECTED_VRE_NAME}}", this.theVRE.getGroupName())
|
2020-09-24 16:42:03 +02:00
|
|
|
.replace("{{USER_NAME}}", theCreatedAccountName)
|
|
|
|
.replace("{{USER_EMAIL}}", theCreatedAccountEmail)
|
2017-05-17 14:21:23 +02:00
|
|
|
.replace("{{MANAGER_USER_FULLNAME}}", theManagerUser.getFullname())
|
|
|
|
.replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL())
|
|
|
|
.replace("{{GATEWAY_URL}}", getGatewayURL())
|
|
|
|
.replace("{{GATEWAY_NAME}}", getGatewayName())
|
2017-05-17 14:33:15 +02:00
|
|
|
|
2017-05-17 14:21:23 +02:00
|
|
|
.replace("{{VRE_LOGO:URL}}", vreLogoURL)
|
|
|
|
.replace("{{VRE_URL}}", signUpURL);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getTextHTML() {
|
|
|
|
return compile(encodedTemplateHTML);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getTextPLAIN() {
|
|
|
|
return compile(encodedTemplateTEXT);
|
|
|
|
}
|
|
|
|
}
|