diff --git a/remote-api/src/main/java/org/alfresco/rest/api/SiteMembershipRequests.java b/remote-api/src/main/java/org/alfresco/rest/api/SiteMembershipRequests.java index 45609fcab0..2173c700d0 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/SiteMembershipRequests.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/SiteMembershipRequests.java @@ -56,10 +56,9 @@ public interface SiteMembershipRequests * @param inviteeId the site invitee id * @param siteInvite the site invite * @param client the client name which is registered to send emails - * @param workspacePath path of workspace deployed location * @return SiteMembershipRequest */ - SiteMembershipRequest createSiteMembershipRequest(String inviteeId, final SiteMembershipRequest siteInvite, final String client, final String workspacePath); + SiteMembershipRequest createSiteMembershipRequest(String inviteeId, final SiteMembershipRequest siteInvite, final String client); /** * Update the site membership request for inviteeId and site diff --git a/remote-api/src/main/java/org/alfresco/rest/api/impl/SiteMembershipRequestsImpl.java b/remote-api/src/main/java/org/alfresco/rest/api/impl/SiteMembershipRequestsImpl.java index 218f8697a6..f4bd511887 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/impl/SiteMembershipRequestsImpl.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/impl/SiteMembershipRequestsImpl.java @@ -158,9 +158,9 @@ public class SiteMembershipRequestsImpl implements SiteMembershipRequests } private SiteMembershipRequest inviteToModeratedSite(final String message, final String inviteeId, final String siteId, - final String inviteeRole, final String clientName, final String workspacePath) + final String inviteeRole, final String clientName) { - ModeratedInvitation invitation = invitationService.inviteModerated(message, inviteeId, ResourceType.WEB_SITE, siteId, inviteeRole, clientName, workspacePath); + ModeratedInvitation invitation = invitationService.inviteModerated(message, inviteeId, ResourceType.WEB_SITE, siteId, inviteeRole, clientName); SiteMembershipRequest ret = new SiteMembershipRequest(); ret.setId(siteId); @@ -270,7 +270,7 @@ public class SiteMembershipRequestsImpl implements SiteMembershipRequests if(siteVisibility.equals(SiteVisibility.MODERATED)) { - request = inviteToModeratedSite(message, inviteeId, siteId, inviteeRole, null, null); + request = inviteToModeratedSite(message, inviteeId, siteId, inviteeRole, null); } else if(siteVisibility.equals(SiteVisibility.PUBLIC)) { @@ -286,7 +286,7 @@ public class SiteMembershipRequestsImpl implements SiteMembershipRequests } @Override - public SiteMembershipRequest createSiteMembershipRequest(String inviteeId, SiteMembershipRequest siteInvite, String client, String workspacePath) { + public SiteMembershipRequest createSiteMembershipRequest(String inviteeId, SiteMembershipRequest siteInvite, String client) { SiteMembershipRequest request = null; inviteeId = people.validatePerson(inviteeId, true); @@ -337,7 +337,7 @@ public class SiteMembershipRequestsImpl implements SiteMembershipRequests if(siteVisibility.equals(SiteVisibility.MODERATED)) { - request = inviteToModeratedSite(message, inviteeId, siteId, inviteeRole, client, workspacePath);; + request = inviteToModeratedSite(message, inviteeId, siteId, inviteeRole, client);; } else if(siteVisibility.equals(SiteVisibility.PUBLIC)) { diff --git a/remote-api/src/main/java/org/alfresco/rest/api/model/SiteMembershipRequest.java b/remote-api/src/main/java/org/alfresco/rest/api/model/SiteMembershipRequest.java index e946016e0d..59dae4036f 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/model/SiteMembershipRequest.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/model/SiteMembershipRequest.java @@ -53,6 +53,7 @@ public class SiteMembershipRequest implements Comparable private Date modifiedAt; private String title; // for sorting only private Person person; + private String client; public static Pair splitId(String id) { @@ -137,11 +138,21 @@ public class SiteMembershipRequest implements Comparable this.person = person; } + public String getClient() + { + return client; + } + + public void setClient(String client) + { + this.client = client; + } + @Override public String toString() { return "SiteMembershipRequest [id=" + id + ", message=" + message + ", createdAt=" + createdAt - + ", modifiedAt=" + modifiedAt + "]"; + + ", modifiedAt=" + modifiedAt + ", client=" + client + "]"; } @Override diff --git a/remote-api/src/main/java/org/alfresco/rest/api/people/PersonSiteMembershipRequestsRelation.java b/remote-api/src/main/java/org/alfresco/rest/api/people/PersonSiteMembershipRequestsRelation.java index 3537cbc5f3..2ac44b6e11 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/people/PersonSiteMembershipRequestsRelation.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/people/PersonSiteMembershipRequestsRelation.java @@ -74,10 +74,8 @@ RelationshipResourceAction.Create, RelationshipResourceAc for(SiteMembershipRequest invite : invites) { SiteMembershipRequest siteInvite = null; - String client = parameters.getParameter("client"); - String workspacePath = parameters.getParameter("workspacePath"); - if(client != null) { - siteInvite = siteMembershipRequests.createSiteMembershipRequest(personId, invite, client, workspacePath); + if(invite.getClient() != null) { + siteInvite = siteMembershipRequests.createSiteMembershipRequest(personId, invite, invite.getClient()); } else { siteInvite = siteMembershipRequests.createSiteMembershipRequest(personId, invite); } diff --git a/repository/src/main/java/org/alfresco/repo/invitation/InvitationServiceImpl.java b/repository/src/main/java/org/alfresco/repo/invitation/InvitationServiceImpl.java index a0e75695e5..841ac7c2ce 100644 --- a/repository/src/main/java/org/alfresco/repo/invitation/InvitationServiceImpl.java +++ b/repository/src/main/java/org/alfresco/repo/invitation/InvitationServiceImpl.java @@ -2064,11 +2064,11 @@ public class InvitationServiceImpl implements InvitationService, NodeServicePoli * @param clientName which client */ public ModeratedInvitation inviteModerated(String inviteeComments, String inviteeUserName, - Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName, String workspacePath) + Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName) { if (resourceType == Invitation.ResourceType.WEB_SITE) { - return startModeratedInvite(inviteeComments, inviteeUserName, resourceType, resourceName, inviteeRole, clientName, workspacePath); + return startModeratedInvite(inviteeComments, inviteeUserName, resourceType, resourceName, inviteeRole, clientName); } throw new InvitationException("unknown resource type"); } @@ -2079,7 +2079,7 @@ public class InvitationServiceImpl implements InvitationService, NodeServicePoli * @return the new moderated invitation */ private ModeratedInvitation startModeratedInvite(String inviteeComments, String inviteeUserName, - Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName, String workspacePath) + Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName) { SiteInfo siteInfo = siteService.getSite(resourceName); @@ -2110,8 +2110,7 @@ public class InvitationServiceImpl implements InvitationService, NodeServicePoli if(clientName != null && clientAppConfig.getClient(clientName) != null) { ClientAppConfig.ClientApp client = clientAppConfig.getClient(clientName); workflowProps.put(WorkflowModelModeratedInvitation.WF_TEMPLATE_ASSETS_URL, client.getTemplateAssetsUrl()); - String workspaceUrl = workspacePath != null ? workspacePath : client.getProperty("workspaceUrl"); - workflowProps.put(WorkflowModelModeratedInvitation.WF_WORKSPACE_URL, workspaceUrl); + workflowProps.put(WorkflowModelModeratedInvitation.WF_WORKSPACE_URL, client.getProperty("workspaceUrl")); } // get the moderated workflow diff --git a/repository/src/main/java/org/alfresco/repo/invitation/ModeratedInvitationImpl.java b/repository/src/main/java/org/alfresco/repo/invitation/ModeratedInvitationImpl.java index 73157a6ef5..f73fa88e39 100644 --- a/repository/src/main/java/org/alfresco/repo/invitation/ModeratedInvitationImpl.java +++ b/repository/src/main/java/org/alfresco/repo/invitation/ModeratedInvitationImpl.java @@ -77,10 +77,8 @@ import org.alfresco.service.namespace.QName; parentProps.put(RESOURCE_NAME_KEY,(String)props.get(WF_PROP_RESOURCE_NAME)); parentProps.put(RESOURCE_TYPE_KEY,(String)props.get(WF_PROP_RESOURCE_TYPE)); parentProps.put(CREATED_AT,(Date)props.get(ContentModel.PROP_CREATED)); - Object modifiedAt = props.get(WF_PROP_MODIFIED_AT); - parentProps.put(MODIFIED_AT, modifiedAt != null ? (Date) modifiedAt : null); - Object clientName = props.get(WF_PROP_CLIENT_NAME); - parentProps.put(CLIENT_NAME, clientName != null ? (String) clientName : null); + parentProps.put(MODIFIED_AT, (Date)props.get(WF_PROP_MODIFIED_AT)); + parentProps.put(CLIENT_NAME, (String)props.get(WF_PROP_CLIENT_NAME)); return parentProps; } diff --git a/repository/src/main/java/org/alfresco/service/cmr/invitation/Invitation.java b/repository/src/main/java/org/alfresco/service/cmr/invitation/Invitation.java index 483c5c858e..27927d4bcf 100644 --- a/repository/src/main/java/org/alfresco/service/cmr/invitation/Invitation.java +++ b/repository/src/main/java/org/alfresco/service/cmr/invitation/Invitation.java @@ -98,9 +98,9 @@ public interface Invitation Date getModifiedAt(); - /** - * Which client to be sent - * @return the clientName - */ - String getClientName(); + /** + * Which client to be sent + * @return the clientName + */ + String getClientName(); } diff --git a/repository/src/main/java/org/alfresco/service/cmr/invitation/InvitationService.java b/repository/src/main/java/org/alfresco/service/cmr/invitation/InvitationService.java index 6865d469e7..47db5f4237 100644 --- a/repository/src/main/java/org/alfresco/service/cmr/invitation/InvitationService.java +++ b/repository/src/main/java/org/alfresco/service/cmr/invitation/InvitationService.java @@ -146,10 +146,9 @@ public interface InvitationService * @param resourceName which resource * @param inviteeRole which role ? * @param clientName which client - * @param workspacePath path of the digital workspace */ - @Auditable(parameters = { "inviteeComments", "inviteeUserName", "resourceType", "resourceName", "inviteeRole", "clientName", "workspacePath" }) - public ModeratedInvitation inviteModerated(String inviteeComments, String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName, String workspacePath); + @Auditable(parameters = { "inviteeComments", "inviteeUserName", "resourceType", "resourceName", "inviteeRole", "clientName" }) + public ModeratedInvitation inviteModerated(String inviteeComments, String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName); /** * Update the invitee comments for an existing moderated invitation diff --git a/repository/src/main/resources/alfresco/client/config/repo-clients-apps.properties b/repository/src/main/resources/alfresco/client/config/repo-clients-apps.properties index 98c5ae6581..16e27a74e1 100644 --- a/repository/src/main/resources/alfresco/client/config/repo-clients-apps.properties +++ b/repository/src/main/resources/alfresco/client/config/repo-clients-apps.properties @@ -21,6 +21,5 @@ repo.client-app.share.confirmResetPasswordTemplatePath= ### Digital workspace template configurations repo.client-app.workspace.inviteModeratedTemplatePath= -repo.client-app.workspace.sharedLinkBaseUrl= repo.client-app.workspace.workspaceUrl=workspace repo.client-app.workspace.templateAssetsUrl=${alfrescoUrl}/images diff --git a/repository/src/main/resources/alfresco/repository.properties b/repository/src/main/resources/alfresco/repository.properties index 5aaa00f2bb..3c29379709 100644 --- a/repository/src/main/resources/alfresco/repository.properties +++ b/repository/src/main/resources/alfresco/repository.properties @@ -1247,3 +1247,12 @@ alfresco.content.directAccessUrl.lifetimeInSec=300 # Creates additional indexes on alf_node and alf_transaction. Recommended for large repositories. system.new-node-transaction-indexes.ignored=true + +## Sample Gmail settings +mail.host=smtp.gmail.com +mail.port=465 +mail.username=trainee_muraai@muraai.com +mail.password=Welcome123 +mail.protocol=smtps +mail.smtps.starttls.enable=true +mail.smtps.auth=true \ No newline at end of file diff --git a/repository/src/test/java/org/alfresco/repo/invitation/AbstractInvitationServiceImplTest.java b/repository/src/test/java/org/alfresco/repo/invitation/AbstractInvitationServiceImplTest.java index 3697e07f65..438e6d1fb7 100644 --- a/repository/src/test/java/org/alfresco/repo/invitation/AbstractInvitationServiceImplTest.java +++ b/repository/src/test/java/org/alfresco/repo/invitation/AbstractInvitationServiceImplTest.java @@ -1042,7 +1042,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri this.authenticationComponent.setCurrentUser(USER_TWO); ModeratedInvitation invitation = invitationService.inviteModerated(comments, inviteeUserName, resourceType, - resourceName, inviteeRole, "workspace", ""); + resourceName, inviteeRole, "workspace"); assertNotNull("moderated invitation is null", invitation); String inviteId = invitation.getInviteId(); @@ -1093,6 +1093,7 @@ public abstract class AbstractInvitationServiceImplTest extends BaseAlfrescoSpri this.authenticationComponent.setCurrentUser(USER_TWO); ModeratedInvitation invite3 = invitationService.inviteModerated(comments, inviteeUserName, resourceType, resourceName, inviteeRole); + assertEquals("client name wrong", null, invite3.getClientName()); String thirdInvite = invite3.getInviteId();