Merged WEBAPP-API (5.2.1) to 5.2.N (5.2.1)

135505 jkaabimofrad: APPSREPO-137: Made quick-share email template configurable via properties file. The template path property value could be an XPATH, a NodeRef of the template or a class path of the template.
       - Added a helper class to provide email template related utility functions
       - Added share as a default registered client for sending email - the template assets (images) will be available in share.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@135566 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2017-03-03 11:41:58 +00:00
parent c149e56623
commit 2e2ecb85c5
3 changed files with 7 additions and 11 deletions

View File

@@ -147,6 +147,7 @@
<entry key="org.alfresco.service.cmr.repository.InvalidNodeRefException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_FOUND}" />
<entry key="org.alfresco.rest.framework.core.exceptions.RelationshipResourceNotFoundException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_FOUND}" />
<entry key="org.alfresco.service.cmr.version.VersionDoesNotExistException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_FOUND}" />
<entry key="org.alfresco.repo.client.config.ClientAppNotFoundException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_FOUND}" />
<entry key="org.alfresco.rest.framework.core.exceptions.PermissionDeniedException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_FORBIDDEN}" />
<entry key="org.alfresco.repo.security.authority.UnknownAuthorityException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_NOT_FOUND}" />
<entry key="org.alfresco.repo.security.permissions.AccessDeniedException" value="#{T(org.springframework.extensions.webscripts.Status).STATUS_FORBIDDEN}" />

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Remote API
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
@@ -28,7 +28,6 @@ package org.alfresco.rest.api.impl;
import org.alfresco.model.ContentModel;
import org.alfresco.model.QuickShareModel;
import org.alfresco.query.PagingRequest;
import org.alfresco.repo.quickshare.QuickShareClientNotFoundException;
import org.alfresco.repo.quickshare.QuickShareLinkExpiryActionException;
import org.alfresco.repo.quickshare.QuickShareServiceImpl.QuickShareEmailRequest;
import org.alfresco.repo.search.QueryParameterDefImpl;
@@ -385,10 +384,6 @@ public class QuickShareLinksImpl implements QuickShareLinks, RecognizedParamsExt
logger.warn("Unable to find: " + sharedId + " [" + inre.getNodeRef() + "]");
throw new EntityNotFoundException(sharedId);
}
catch (QuickShareClientNotFoundException ex)
{
throw new InvalidArgumentException("Client is not registered [" + emailRequest.getClient() + "]");
}
}
private Parameters getParamsWithCreatedStatus()

View File

@@ -636,7 +636,7 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
// Email request with minimal properties
QuickShareLinkEmailRequest request = new QuickShareLinkEmailRequest();
request.setClient("sfs");
request.setClient("share");
List<String> recipients = new ArrayList<>(2);
recipients.add(user2 + "@acme.test");
recipients.add(user2 + "@ping.test");
@@ -645,7 +645,7 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
// Email request with all the properties
request = new QuickShareLinkEmailRequest();
request.setClient("sfs");
request.setClient("share");
request.setMessage("My custom message!");
request.setLocale(Locale.UK.toString());
recipients = Collections.singletonList(user2 + "@acme.test");
@@ -661,14 +661,14 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
request.setClient("VeryCoolClient" + System.currentTimeMillis());
List<String> user2Email = Collections.singletonList(user2 + "@acme.test");
request.setRecipientEmails(user2Email);
post(getEmailSharedLinkUrl(sharedId), RestApiUtil.toJsonAsString(request), 400);
post(getEmailSharedLinkUrl(sharedId), RestApiUtil.toJsonAsString(request), 404);
// client is mandatory
request.setClient(null);
post(getEmailSharedLinkUrl(sharedId), RestApiUtil.toJsonAsString(request), 400);
// recipientEmails is mandatory
request.setClient("sfs");
request.setClient("share");
request.setRecipientEmails(null);
post(getEmailSharedLinkUrl(sharedId), RestApiUtil.toJsonAsString(request), 400);
@@ -679,7 +679,7 @@ public class SharedLinkApiTest extends AbstractBaseApiTest
{
quickShareLinks.setEnabled(false);
request = new QuickShareLinkEmailRequest();
request.setClient("sfs");
request.setClient("share");
request.setRecipientEmails(user2Email);
post(getEmailSharedLinkUrl(sharedId), RestApiUtil.toJsonAsString(request), 501);
}