mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
adapted "invites" webscript to return all data required for the sent-invites page. Some data only stubbed currently
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10428 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -24,6 +24,10 @@
|
||||
*/
|
||||
package org.alfresco.repo.web.scripts.invite;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.alfresco.repo.jscript.ScriptNode;
|
||||
|
||||
/**
|
||||
* Holds properties pertaining to an invitation that has been sent out by a Site Manager (Inviter)
|
||||
* to another person (Invitee) to join his/her Site
|
||||
@@ -33,19 +37,31 @@ package org.alfresco.repo.web.scripts.invite;
|
||||
public class InviteInfo
|
||||
{
|
||||
// private instances to hold property values
|
||||
private String invitationStatus;
|
||||
private String inviterUserName;
|
||||
private ScriptNode inviterPerson;
|
||||
private String inviteeUserName;
|
||||
private ScriptNode inviteePerson;
|
||||
private String role;
|
||||
private String siteShortName;
|
||||
private Date sentInviteDate;
|
||||
private String inviteId;
|
||||
|
||||
public InviteInfo(String inviterUserName, String inviteeUserName, String siteShortName, String inviteId)
|
||||
public InviteInfo(String invitationStatus, String inviterUserName, ScriptNode inviterPerson,
|
||||
String inviteeUserName, ScriptNode inviteePerson, String role,
|
||||
String siteShortName, Date sentInviteDate, String inviteId)
|
||||
{
|
||||
this.invitationStatus = invitationStatus;
|
||||
this.inviterUserName = inviterUserName;
|
||||
this.inviterPerson = inviterPerson;
|
||||
this.inviteeUserName = inviteeUserName;
|
||||
this.inviteePerson = inviteePerson;
|
||||
this.role = role;
|
||||
this.siteShortName = siteShortName;
|
||||
this.sentInviteDate = sentInviteDate;
|
||||
this.inviteId = inviteId;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the inviter user name
|
||||
*
|
||||
@@ -85,4 +101,26 @@ public class InviteInfo
|
||||
{
|
||||
return inviteId;
|
||||
}
|
||||
|
||||
public ScriptNode getInviteePerson() {
|
||||
return inviteePerson;
|
||||
}
|
||||
|
||||
public ScriptNode getInviterPerson() {
|
||||
return inviterPerson;
|
||||
}
|
||||
|
||||
public Date getSentInviteDate() {
|
||||
return sentInviteDate;
|
||||
}
|
||||
|
||||
public String getInvitationStatus() {
|
||||
return invitationStatus;
|
||||
}
|
||||
|
||||
public String getRole() {
|
||||
return role;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -332,7 +332,7 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
expectedStatus);
|
||||
}
|
||||
|
||||
private JSONArray getInvitesByInviteId(String inviteId, int expectedStatus)
|
||||
private JSONObject getInvitesByInviteId(String inviteId, int expectedStatus)
|
||||
throws Exception
|
||||
{
|
||||
// construct get invites URL
|
||||
@@ -342,12 +342,12 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
MockHttpServletResponse response = getRequest(getInvitesUrl,
|
||||
expectedStatus);
|
||||
|
||||
JSONArray result = new JSONArray(response.getContentAsString());
|
||||
JSONObject result = new JSONObject(response.getContentAsString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONArray getInvitesByInviterUserName(String inviterUserName,
|
||||
private JSONObject getInvitesByInviterUserName(String inviterUserName,
|
||||
int expectedStatus) throws Exception
|
||||
{
|
||||
// construct get invites URL
|
||||
@@ -358,12 +358,12 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
MockHttpServletResponse response = getRequest(getInvitesUrl,
|
||||
expectedStatus);
|
||||
|
||||
JSONArray result = new JSONArray(response.getContentAsString());
|
||||
JSONObject result = new JSONObject(response.getContentAsString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONArray getInvitesByInviteeUserName(String inviteeUserName,
|
||||
private JSONObject getInvitesByInviteeUserName(String inviteeUserName,
|
||||
int expectedStatus) throws Exception
|
||||
{
|
||||
// construct get invites URL
|
||||
@@ -374,12 +374,12 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
MockHttpServletResponse response = getRequest(getInvitesUrl,
|
||||
expectedStatus);
|
||||
|
||||
JSONArray result = new JSONArray(response.getContentAsString());
|
||||
JSONObject result = new JSONObject(response.getContentAsString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private JSONArray getInvitesBySiteShortName(String siteShortName,
|
||||
private JSONObject getInvitesBySiteShortName(String siteShortName,
|
||||
int expectedStatus) throws Exception
|
||||
{
|
||||
// construct get invites URL
|
||||
@@ -390,7 +390,7 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
MockHttpServletResponse response = getRequest(getInvitesUrl,
|
||||
expectedStatus);
|
||||
|
||||
JSONArray result = new JSONArray(response.getContentAsString());
|
||||
JSONObject result = new JSONObject(response.getContentAsString());
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -511,11 +511,11 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
//
|
||||
|
||||
// get pending invite matching inviteId from invite started above
|
||||
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
Status.STATUS_OK);
|
||||
|
||||
// there should no longer be any invites identified by invite ID pending
|
||||
assertEquals(getInvitesResult.length(), 0);
|
||||
assertEquals(getInvitesResult.getJSONArray("invites").length(), 0);
|
||||
}
|
||||
|
||||
public void testRejectInvite() throws Exception
|
||||
@@ -547,11 +547,11 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
//
|
||||
|
||||
// get pending invite matching inviteId from invite started above
|
||||
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
Status.STATUS_OK);
|
||||
|
||||
// there should no longer be any invites identified by invite ID pending
|
||||
assertEquals(getInvitesResult.length(), 0);
|
||||
assertEquals(getInvitesResult.getJSONArray("invites").length(), 0);
|
||||
}
|
||||
|
||||
public void testGetInvitesByInviteId() throws Exception
|
||||
@@ -567,12 +567,12 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
assertEquals(true, ((inviteId != null) && (inviteId.length() != 0)));
|
||||
|
||||
// get pending invite matching inviteId from invite started above
|
||||
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
|
||||
Status.STATUS_OK);
|
||||
|
||||
assertEquals(getInvitesResult.getJSONArray("invites").length(), 1);
|
||||
|
||||
assertEquals(getInvitesResult.length(), 1);
|
||||
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
|
||||
|
||||
assertEquals(inviteId, inviteJSONObj.get("inviteId"));
|
||||
}
|
||||
@@ -585,14 +585,14 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
|
||||
// get pending invites matching inviter user name used in invite started
|
||||
// above
|
||||
JSONArray getInvitesResult = getInvitesByInviterUserName(USER_INVITER,
|
||||
JSONObject getInvitesResult = getInvitesByInviterUserName(USER_INVITER,
|
||||
Status.STATUS_OK);
|
||||
|
||||
assertEquals(true, getInvitesResult.length() > 0);
|
||||
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
|
||||
|
||||
assertEquals(USER_INVITER, inviteJSONObj.get("inviterUserName"));
|
||||
assertEquals(USER_INVITER, inviteJSONObj.getJSONObject("inviter").get("userName"));
|
||||
}
|
||||
|
||||
public void testGetInvitesByInviteeUserName() throws Exception
|
||||
@@ -610,14 +610,14 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
|
||||
// get pending invites matching invitee user name from invite started
|
||||
// above
|
||||
JSONArray getInvitesResult = getInvitesByInviteeUserName(
|
||||
JSONObject getInvitesResult = getInvitesByInviteeUserName(
|
||||
inviteeUserName, Status.STATUS_OK);
|
||||
|
||||
assertEquals(true, getInvitesResult.length() > 0);
|
||||
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
|
||||
|
||||
assertEquals(inviteeUserName, inviteJSONObj.get("inviteeUserName"));
|
||||
assertEquals(inviteeUserName, inviteJSONObj.getJSONObject("invitee").get("userName"));
|
||||
}
|
||||
|
||||
public void testGetInvitesBySiteShortName() throws Exception
|
||||
@@ -635,12 +635,12 @@ public class InviteServiceTest extends BaseWebScriptTest
|
||||
|
||||
// get pending invites matching site short name from invite started
|
||||
// above
|
||||
JSONArray getInvitesResult = getInvitesBySiteShortName(siteShortName,
|
||||
JSONObject getInvitesResult = getInvitesBySiteShortName(siteShortName,
|
||||
Status.STATUS_OK);
|
||||
|
||||
assertEquals(true, getInvitesResult.length() > 0);
|
||||
assertEquals(true, getInvitesResult.getJSONArray("invites").length() > 0);
|
||||
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
|
||||
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
|
||||
|
||||
assertEquals(siteShortName, inviteJSONObj.get("siteShortName"));
|
||||
}
|
||||
|
@@ -25,10 +25,16 @@
|
||||
package org.alfresco.repo.web.scripts.invite;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.repo.jscript.ScriptNode;
|
||||
import org.alfresco.repo.site.SiteService;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.security.PersonService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowTask;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowTaskQuery;
|
||||
@@ -75,6 +81,9 @@ public class Invites extends DeclarativeWebScript
|
||||
// service instances
|
||||
private WorkflowService workflowService;
|
||||
private NamespaceService namespaceService;
|
||||
private PersonService personService;
|
||||
private SiteService siteService;
|
||||
private ServiceRegistry serviceRegistry;
|
||||
|
||||
/**
|
||||
* Set the workflow service property
|
||||
@@ -98,7 +107,19 @@ public class Invites extends DeclarativeWebScript
|
||||
this.namespaceService = namespaceService;
|
||||
}
|
||||
|
||||
/*
|
||||
public void setPersonService(PersonService personService) {
|
||||
this.personService = personService;
|
||||
}
|
||||
|
||||
public void setServiceRegistry(ServiceRegistry serviceRegistry) {
|
||||
this.serviceRegistry = serviceRegistry;
|
||||
}
|
||||
|
||||
public void setSiteService(SiteService siteService) {
|
||||
this.siteService = siteService;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
@@ -240,9 +261,33 @@ public class Invites extends DeclarativeWebScript
|
||||
// as "inviteId" onto model
|
||||
String workflowId = workflowTask.path.instance.id;
|
||||
|
||||
// TODO: fetch correct workflow start date
|
||||
Date sentInviteDate = new Date();
|
||||
|
||||
// TODO: fetchh correct role
|
||||
String role = "SiteManager";
|
||||
|
||||
// TODO: assign correct state
|
||||
String invitationStatus = "pending"; // "accepted", "declined"
|
||||
|
||||
// check whether we can find a person node for inviter/invitee
|
||||
NodeRef inviterRef = personService.getPerson(inviterUserNameProp);
|
||||
ScriptNode inviterPerson = null;
|
||||
if (inviterRef != null)
|
||||
{
|
||||
inviterPerson = new ScriptNode(inviterRef, serviceRegistry);
|
||||
}
|
||||
|
||||
NodeRef inviteeRef = personService.getPerson(inviteeUserNameProp);
|
||||
ScriptNode inviteePerson = null;
|
||||
if (inviteeRef != null)
|
||||
{
|
||||
inviteePerson = new ScriptNode(inviteeRef, serviceRegistry);
|
||||
}
|
||||
|
||||
// create and add InviteInfo to inviteInfoList
|
||||
InviteInfo inviteInfo = new InviteInfo(inviterUserNameProp,
|
||||
inviteeUserNameProp, siteShortNameProp, workflowId);
|
||||
InviteInfo inviteInfo = new InviteInfo(invitationStatus, inviterUserNameProp, inviterPerson,
|
||||
inviteeUserNameProp, inviteePerson, role, siteShortNameProp, sentInviteDate, workflowId);
|
||||
inviteInfoList.add(inviteInfo);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user