From 70a90c387062cc6aeb435f817c8142d388c3ecea Mon Sep 17 00:00:00 2001 From: Suneet Gupta <89080268+suneet-gupta@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:03:37 +0530 Subject: [PATCH] [MNT-23264] Added fix for running job as system user (#2926) * [MNT-23264] Added fix for running job as system user * [MNT-23264] Added fix for running job as system user * [MNT-23264] Added fix for running job as system user * [MNT-23264] Added fix for running job as system user * [MNT-23264] Added fix for running job as system user --- .../repo/action/executer/ScriptActionExecuter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/repository/src/main/java/org/alfresco/repo/action/executer/ScriptActionExecuter.java b/repository/src/main/java/org/alfresco/repo/action/executer/ScriptActionExecuter.java index b8458fa60d..1ffc18f0fa 100644 --- a/repository/src/main/java/org/alfresco/repo/action/executer/ScriptActionExecuter.java +++ b/repository/src/main/java/org/alfresco/repo/action/executer/ScriptActionExecuter.java @@ -152,9 +152,11 @@ public class ScriptActionExecuter extends ActionExecuterAbstractBase { // get the references we need to build the default scripting data-model String userName = this.serviceRegistry.getAuthenticationService().getCurrentUserName(); - NodeRef personRef = this.personService.getPerson(userName); - NodeRef homeSpaceRef = (NodeRef)nodeService.getProperty(personRef, ContentModel.PROP_HOMEFOLDER); - + + // When a script is executed as a system user, there will no person or home space for providing to the scripting framework. + NodeRef personRef = this.personService.getPersonOrNull(userName); + NodeRef homeSpaceRef = personRef == null ? null : (NodeRef)nodeService.getProperty(personRef, ContentModel.PROP_HOMEFOLDER); + // the default scripting model provides access to well known objects and searching // facilities - it also provides basic create/update/delete/copy/move services Map model = this.serviceRegistry.getScriptService().buildDefaultModel( @@ -198,6 +200,7 @@ public class ScriptActionExecuter extends ActionExecuterAbstractBase /** * @see org.alfresco.repo.action.ParameterizedItemAbstractBase#addParameterDefinitions(java.util.List) */ + @Override protected void addParameterDefinitions(List paramList) { if (scriptLocation == null)