From e09ae51c1df13fc7159b15bb40fb78158d9675a0 Mon Sep 17 00:00:00 2001 From: Glen Johnson Date: Wed, 28 May 2008 11:26:50 +0000 Subject: [PATCH] Added createPerson() and deletePerson() methods to People JavaScript API - needed by 3.0 Invite Workflow git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9280 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/repo/jscript/People.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/source/java/org/alfresco/repo/jscript/People.java b/source/java/org/alfresco/repo/jscript/People.java index 5617c5b907..acf665c901 100644 --- a/source/java/org/alfresco/repo/jscript/People.java +++ b/source/java/org/alfresco/repo/jscript/People.java @@ -34,6 +34,7 @@ import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityType; import org.alfresco.service.cmr.security.PersonService; import org.alfresco.util.ParameterCheck; +import org.alfresco.util.PropertyMap; import org.mozilla.javascript.Context; import org.mozilla.javascript.Scriptable; @@ -76,7 +77,45 @@ public final class People extends BaseScopableProcessorExtension { this.authorityService = authorityService; } + + /** + * Delete a Person with the given username + * + * @param username the username of the person to delete + */ + public void deletePerson(String username) + { + PersonService personService = services.getPersonService(); + personService.deletePerson(username); + } + /** + * Create a Person with the given username and password + * + * @param username the username of the person to be created + * @param password the password of the person to be created + * @return the person node (type cm:person) created or null if the person already exists + */ + public ScriptNode createPerson(String username, String password) + { + ParameterCheck.mandatoryString("Username", username); + ParameterCheck.mandatoryString("Password", password); + + ScriptNode person = null; + + PropertyMap properties = new PropertyMap(); + properties.put(ContentModel.PROP_USERNAME, username); + properties.put(ContentModel.PROP_PASSWORD, password); + PersonService personService = services.getPersonService(); + if (!personService.personExists(username)) + { + NodeRef personRef = personService.createPerson(properties); + person = new ScriptNode(personRef, services, getScope()); + } + + return person; + } + /** * Gets the Person given the username *