我们在工作流草稿,编辑和决赛中有三种状态。
保存项目的内容作者进入草稿状态,一旦提交,就转到编辑状态,发布者可以批准或拒绝它。
我们的内容作者不应该删除网页(为此我删除了主页及其下所有网页的删除访问权限),但应该能够删除处于草稿状态的网页。这可以实现吗?
我觉得既然我删除了家庭及其下所有页面的删除访问权限,那么作者也无法删除处于草稿状态的页面。
答案 0 :(得分:1)
制作工作流状态的选项删除,并执行删除操作(我认为您需要安全禁用或用户切换器才能执行此操作。
但是,如果作者编辑现有项目,可能需要删除版本而不是项目。
using Sitecore.Data.Items;
using Sitecore.Workflows.Simple;
namespace Mirabeau.Sitecore.Workflow.Action
{
public class DeleteItemAction
{
public DeleteItemAction()
{
}
public void Process(WorkflowPipelineArgs args)
{
Item item = args.DataItem;
//example it is not realy save to have this code, every one can delete now. replace or make up with own check
using (new Sitecore.SecurityModel.SecurityDisabler())
{
item.Recycle();
}
}
}
}
在删除工作流程/命令下使用/ sitecore / templates / System / Workflow / Action
在数据部分,
“类型字符串”设置Mirabeau.Sitecore.Workflow.Action,YourDLL
请参阅示例工作流程中的“自动发布”操作。
另一个选项是进行自定义或更改删除命令。像Create a Command with dialoge这样的事情,而不是你做特定权利检查的删除。