我有一个要求,如果用户既是内容作者又是发布者,并且如果该用户创建内容,他不应该有机会发布。因此,当我向发布者组发送电子邮件时获得批准,我将检查用户是否是提交者,如果他是,我将不会发送电子邮件。我觉得需要做的另一件事是将发布选项变灰。这可以通过代码完成吗?我认为在这种情况下设置访问权限不起作用。任何输入/想法表示赞赏。
谢谢,TG。
我有一个要求,如果用户既是内容作者又是发布者,并且如果该用户创建内容,他不应该有机会发布。因此,当我向发布者组发送电子邮件时获得批准,我将检查用户是否是提交者,如果他是,我将不会发送电子邮件。我觉得需要做的另一件事是将发布选项变灰。这可以通过代码完成吗?我认为在这种情况下设置访问权限不起作用。任何输入/想法表示赞赏。
谢谢,TG。
如果内容是由发布者创建或修改的,您是否试图消除审批流程?如果是这样,我将有两个处于草稿状态的命令,即为非发布者显示的提交和仅向发布者显示的发布,并使其在执行时移至最后阶段。
public class ValidateUser
{
public void Process(WorkflowPipelineArgs args)
{
Assert.ArgumentNotNull(args, "args");
ProcessorItem processorItem = args.ProcessorItem;
if (processorItem != null)
{
Item contextitem = args.DataItem;
Item innerItem = processorItem.InnerItem;
var contentWorkflow = contextitem.Database.WorkflowProvider.GetWorkflow(contextitem);
var contentHistory = contentWorkflow.GetHistory(contextitem);
if (contentHistory.Length > 0)
{
if (contentHistory[contentHistory.Length - 1].User == Sitecore.Context.User.DisplayName)
{
args.AbortPipeline();
}
}
}
}
}