mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-30 18:15:39 +00:00
Merged V3.0 to HEAD
11919: Split toolbar fixes for wiki and versioning improvements. ETHREEOH-746 Unable to view contents of previous versions of wiki page. 11920: ETHREEOH-510 Create toolbar for blog & discussions (make it a splitbar with changing link arrows) 11921: ETHREEOH-448 - Incorrect behavior of Tags working in Share 11922: ETHREEOH-698 - Error and browser disabling in case incorrect data is entered on the Alfresco Global Feed 11925: Merged V3.0 to V2.2 11870: Fixed ETWOTWO-836: NPE when clearCurrentSecurityContext is called in a runAs This merge was required for merging after revision 11782 was merged across 11928: preview and full-preview component previously had a white background, and distorted the view for dialogs. Now its transparent and doesn't hide parts of dialogs. 11929: ETHREEOH-881 11931: Follow-up fixes for YUI 2.6.0 upgrade and Pagination 11932: DocLib Copy-to and Move-to dialogs: fixes to tree clicking and now scroll site and container lists to current selection 11933: Workarounds for renderLoopSize bug in DataTable git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12488 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
parent
6608333df2
commit
8075fff6b6
@ -35,6 +35,8 @@ import org.alfresco.repo.policy.ClassPolicyDelegate;
|
||||
import org.alfresco.repo.policy.PolicyComponent;
|
||||
import org.alfresco.repo.rule.RuleServiceImpl;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
|
||||
import org.alfresco.repo.transaction.TransactionListenerAdapter;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
@ -350,40 +352,33 @@ public class AsynchronousActionExecutionQueueImpl implements AsynchronousActionE
|
||||
throw new ActionServiceException("Cannot execute action asynchronously since run as user is 'null'");
|
||||
}
|
||||
|
||||
authenticationComponent.setCurrentUser(userName);
|
||||
|
||||
try
|
||||
// import the content
|
||||
RunAsWork<Object> actionRunAs = new RunAsWork<Object>()
|
||||
{
|
||||
RetryingTransactionCallback<Object> actionCallback = new RetryingTransactionCallback<Object>()
|
||||
public Object doWork() throws Exception
|
||||
{
|
||||
public Object execute()
|
||||
{
|
||||
// Bind the callback listener
|
||||
CallbackTransactionListener tl = new CallbackTransactionListener(action, actionedUponNodeRef);
|
||||
AlfrescoTransactionSupport.bindListener(tl);
|
||||
|
||||
if (ActionExecutionWrapper.this.executedRules != null)
|
||||
{
|
||||
AlfrescoTransactionSupport.bindResource("RuleServiceImpl.ExecutedRules", ActionExecutionWrapper.this.executedRules);
|
||||
}
|
||||
|
||||
// Execute the action
|
||||
actionService.executeActionImpl(
|
||||
action,
|
||||
actionedUponNodeRef,
|
||||
checkConditions,
|
||||
true,
|
||||
actionChain);
|
||||
RetryingTransactionCallback<Object> actionCallback = new RetryingTransactionCallback<Object>()
|
||||
{
|
||||
public Object execute()
|
||||
{
|
||||
if (ActionExecutionWrapper.this.executedRules != null)
|
||||
{
|
||||
AlfrescoTransactionSupport.bindResource("RuleServiceImpl.ExecutedRules", ActionExecutionWrapper.this.executedRules);
|
||||
}
|
||||
|
||||
ActionExecutionWrapper.this.actionService.executeActionImpl(
|
||||
ActionExecutionWrapper.this.action,
|
||||
ActionExecutionWrapper.this.actionedUponNodeRef,
|
||||
ActionExecutionWrapper.this.checkConditions, true,
|
||||
ActionExecutionWrapper.this.actionChain);
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
transactionService.getRetryingTransactionHelper().doInTransaction(actionCallback);
|
||||
}
|
||||
finally
|
||||
{
|
||||
authenticationComponent.clearCurrentSecurityContext();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
};
|
||||
return transactionService.getRetryingTransactionHelper().doInTransaction(actionCallback);
|
||||
}
|
||||
};
|
||||
AuthenticationUtil.runAs(actionRunAs, userName);
|
||||
}
|
||||
catch (Throwable exception)
|
||||
{
|
||||
|
@ -32,6 +32,8 @@ import org.alfresco.i18n.I18NUtil;
|
||||
import org.alfresco.repo.admin.patch.AbstractPatch;
|
||||
import org.alfresco.repo.importer.ACPImportPackageHandler;
|
||||
import org.alfresco.repo.importer.ImporterBootstrap;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.service.cmr.admin.PatchException;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
@ -171,16 +173,15 @@ public class EmailTemplatesContentPatch extends AbstractPatch
|
||||
setUp();
|
||||
|
||||
// import the content
|
||||
try
|
||||
RunAsWork<Object> importRunAs = new RunAsWork<Object>()
|
||||
{
|
||||
authenticationComponent.setCurrentUser(authenticationComponent.getSystemUserName());
|
||||
|
||||
importContent();
|
||||
}
|
||||
finally
|
||||
{
|
||||
authenticationComponent.clearCurrentSecurityContext();
|
||||
}
|
||||
public Object doWork() throws Exception
|
||||
{
|
||||
importContent();
|
||||
return null;
|
||||
}
|
||||
};
|
||||
AuthenticationUtil.runAs(importRunAs, authenticationComponent.getSystemUserName());
|
||||
|
||||
// output a message to describe the result
|
||||
return I18NUtil.getMessage(MSG_CREATED);
|
||||
|
@ -37,6 +37,8 @@ import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.admin.patch.AbstractPatch;
|
||||
import org.alfresco.repo.importer.ACPImportPackageHandler;
|
||||
import org.alfresco.repo.importer.ImporterBootstrap;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
|
||||
import org.alfresco.service.cmr.admin.PatchException;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
@ -222,16 +224,15 @@ public class ScriptsFolderPatch extends AbstractPatch
|
||||
createFolder();
|
||||
|
||||
// import the content
|
||||
try
|
||||
RunAsWork<Object> importRunAs = new RunAsWork<Object>()
|
||||
{
|
||||
authenticationComponent.setCurrentUser(authenticationComponent.getSystemUserName());
|
||||
|
||||
importContent();
|
||||
}
|
||||
finally
|
||||
{
|
||||
authenticationComponent.clearCurrentSecurityContext();
|
||||
}
|
||||
public Object doWork() throws Exception
|
||||
{
|
||||
importContent();
|
||||
return null;
|
||||
}
|
||||
};
|
||||
AuthenticationUtil.runAs(importRunAs, authenticationComponent.getSystemUserName());
|
||||
|
||||
msg = I18NUtil.getMessage(MSG_CREATED, scriptsFolderNodeRef);
|
||||
}
|
||||
|
@ -608,7 +608,7 @@ public abstract class AuthenticationUtil
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!AuthenticationUtil.getCurrentRealUserName().equals(realUser))
|
||||
if(!realUser.equals(AuthenticationUtil.getCurrentRealUserName()))
|
||||
{
|
||||
AuthenticationUtil.setCurrentRealUser(realUser);
|
||||
s_logger.warn("Resetting real user which has changed in RunAs block");
|
||||
|
Loading…
x
Reference in New Issue
Block a user