Отображение элементов списка в зависимости от уровня пользователей - PullRequest
0 голосов
/ 27 января 2011

У меня есть следующее требование.

Мой сайт SharePoint имеет набор пользователей.

Теперь некоторые пользователи - это сотрудники (уровень 1), некоторые менеджеры (уровень 2), некоторые Sr.Manager (уровень 3). Вот так у меня есть иерархия с пользователями до 5 уровней.

Теперь все они оставляют заявления, а их начальник одобряет \ отклоняет их. Он сохраняется в списке, в котором хранятся относительные данные приложения, включая запрашивающего и утверждающего.

Теперь, когда пользователь входит в систему и просматривает страницу отчета об уходе, он должен иметь возможность просматривать свои записи об отпуске + оставлять записи всех пользователей, которые находятся ниже его в иерархии отчетов.

например. Если пользователь уровня 1 входит в систему, он должен иметь возможность просматривать свои собственные записи об отпуске + пользователи уровня 2-level5 оставляют записи.

На данный момент пользователи просто хранятся в одной группе, называемой владельцами сайтов.

Как я могу подойти к этому? Как хранить пользователей и как создавать отчеты.

Ответы [ 2 ]

0 голосов
/ 29 января 2011

Во-первых, я бы забрал всех пользователей из владельцев сайтов, если бы эта группа имела полный доступ к вашему сайту (что должно быть по умолчанию). Затем я создаю пять групп: Уровень 1, Уровень 2, Уровень 3, Уровень 4 и Уровень 5. Поместите соответствующего пользователя в соответствующую группу.

Далее я бы добавил получатель событий в список. В ItemAdded , вызовите BreakRoleInheritance (false) , чтобы установить разрешения уровня элемента. Текущий пользователь получает разрешения по умолчанию, поэтому все, что вам нужно сделать, это предоставить разрешение на чтение группам уровней выше группы этого пользователя.

0 голосов
/ 27 января 2011

Вы можете использовать пользовательский шаблон формы.Взгляните на http://pioneeringsharepoint.blogspot.com/2009/11/correct-way-to-customize-forms.html.

Ключ должен переопределить свойство IsFieldExcluded, чтобы проверить уровень пользователя и исключить поле при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...