From 0c0dbb8d600b8d34e89629ce2b666739b01d1931 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 11 Mar 2016 22:25:47 +0000 Subject: [PATCH] Merged 5.1.N (5.1.1) to HEAD (5.2) 122427 rneamtu: Merged 5.0.N (5.0.4) to 5.1.N (5.1.1) (PARTIAL MERGE) 122412 nsmintanca: MNT-15642 CLONE - Request to join a moderated site multiple times -added validation on backend to prevent multiple requests for joining a site -updated unit tests -added widget to display "Cancel request" button git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@123659 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/repo/site/script/Site.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/site/script/Site.java b/source/java/org/alfresco/repo/site/script/Site.java index e4aedac8fd..a3905e3047 100644 --- a/source/java/org/alfresco/repo/site/script/Site.java +++ b/source/java/org/alfresco/repo/site/script/Site.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2013 Alfresco Software Limited. + * Copyright (C) 2005-2016 Alfresco Software Limited. * * This file is part of Alfresco * @@ -902,8 +902,21 @@ public class Site implements Serializable */ public ScriptInvitation inviteModerated(String inviteeComments, String inviteeUserName, String inviteeRole) { - Invitation invitation = invitationService.inviteModerated(inviteeComments, inviteeUserName, Invitation.ResourceType.WEB_SITE, getShortName(), inviteeRole); - return scriptInvitationFactory.toScriptInvitation(invitation); + InvitationSearchCriteriaImpl crit = new InvitationSearchCriteriaImpl(); + crit.setResourceName(getShortName()); + crit.setResourceType(Invitation.ResourceType.WEB_SITE); + crit.setInvitee(inviteeUserName); + + List invitations = invitationService.searchInvitation(crit); + if(invitations.isEmpty()) + { + Invitation invitation = invitationService.inviteModerated(inviteeComments, inviteeUserName, Invitation.ResourceType.WEB_SITE, getShortName(), inviteeRole); + return scriptInvitationFactory.toScriptInvitation(invitation); + } + else + { + throw new InvitationException("A request to join this site is in pending"); + } } /**