【发布时间】:2022-08-10 00:04:05
【问题描述】:
这是场景。在大型组织中,所有用户都登录到他们的 Intranet,并且他们处于员工 (DNN) 角色中。我们正在构建一个 2sxc 应用程序来处理一个非常基本的分类广告列表,以便用户可以相互提供/出售商品。
对于员工,我们有一个管理我的项目视图,它是页面上唯一的模块。任何具有员工角色的登录用户都可以查看(DNN 权限)该页面。我们让它按预期工作,以便用户可以查看已批准的 (.IsPublished) 项目并将项目添加为草稿 (!.IsPublished)。
问题是,用户添加项目后,他们看不到它们。我们根本无法弄清楚如何在视图中显示草稿项目。
员工用户添加草稿项目后,管理员可以看到:
并在视图中
但是当以员工角色登录时,视图只显示:
我在内容类型和视图上都尝试了许多权限。我尝试了 GetDraft(),但这似乎在另一个场景中起到了作用。
获取项目列表的代码如下所示:
@{
var items = AsList(App.Data[\"Items\"])
// .Where(i => i.IsPublished == false)
;
}
我需要做什么才能让非管理员也可以查看草稿 (.IsPublished == false) 项目?
请注意,如果我将角色的页面 (DNN) 权限从“查看”升级到“编辑”,则会出现草稿项目,但这违背了目的(在这种情况下)。
同样,这不是面向公众的页面,我们使用 2sxc UI 添加内容项。如果我是登录的员工用户并且我在分类广告中添加要出售的商品,我希望经理稍后会批准它,但在那之前,我应该能够看到我的商品(我是实体 .Owner ) 仍在草稿中(尚未批准)。提前致谢!!
2sxc v13.12.1
更新:
将权限从Create Draft 增加到Edit Draft CRUD,即使在 DNN 应用程序池重新启动后也没有任何区别。
标签: dotnetnuke 2sxc