根据用户级别显示列表项

时间:2011-01-27 06:41:32

标签: sharepoint sharepoint-2010

我有以下要求。

我的SharePoint网站有一组用户。

现在有些用户是员工(1级),有些是经理(2级),有些是Sr.Manager(3级)。像这样我有一个层次结构,用户最多可以达到5个级别。

现在他们所有人都离开了申请,他们的上司批准\拒绝他们。它存储在一个列表中,该列表存储应用程序的相关详细信息,包括请求者和批准者。

现在,当用户登录并浏览到“离开报告”页面时,他应该能够查看他/她的请假记录+在报告层次结构中留下他下面所有用户的记录。

e.g。如果1级用户登录,他应该能够查看自己的休假记录+ level2-level5用户留下记录。

截至目前,用户只是存储在名为“网站所有者”的一个组中。

我该如何处理?应如何存储用户以及如何创建报告。

2 个答案:

答案 0 :(得分:0)

您可以使用自定义表单模板。看看http://pioneeringsharepoint.blogspot.com/2009/11/correct-way-to-customize-forms.html

关键是覆盖IsFieldExcluded属性以检查用户级别,并在需要时排除该字段。

答案 1 :(得分:0)

首先,如果该组对您的站点具有完全控制权(默认情况下应该是这样),我会将所有用户从站点所有者中删除。然后我创建五个组:级别1,级别2,级别3,级别4和级别5.将适当的用户放在适当的组中。

接下来,我会在列表中添加一个事件接收器。在ItemAdded上,拨打BreakRoleInheritance(false)以设置“项目级别”权限。默认情况下,当前用户被授予权限,因此您只需向该用户组上方的级别组授予“读取”权限。