2010-12-14 5 views
1

У меня есть столбец Статус (0 = По умолчанию, 1 = Принято, 2 = Отклонено) при первом создании этого списка Я хочу скрыть это поле и заполнить его значением по умолчанию (0).Как скрыть поле на основе текущей роли пользователя в Sharepoint?

В форме редактирования я хочу скрыть этот столбец от обновления, если роль пользователя не является HelpDesk.

Thx

ответ

0

Для вашего первого требования, вы можете использовать SPUtility.js (полное раскрытие информации это библиотека Я утверждаю). Вы бы в основном положить some JavaScript in a Content Editor Web Part на странице NewForm.aspx:

SPUtility.GetSPField('Status').Hide(); 

Если вы хотите изменить значение (если у вас нет по умолчанию, указанные в настройках списка), то вы можете сделать:

SPUtility.GetSPField('Status').SetValue('Default').Hide(); 

Второе требование немного сложнее. Вы действительно не указываете, как пользователь получает роль «HelpDesk» (свойство профиля? Группа SharePoint?). В зависимости от того, как он настроен, вы можете использовать вызов AJAX веб-службам SharePoint для проверки их безопасности. Или вы можете написать собственный веб-сайт, который проверяет их роль, а затем испускает некоторый JavaScript.

+0

Для пояснения «HelpDesk» находится в группе sharepoint. – F8R

+0

Thx Kit, у меня больше вопросов, как скрыть панель инструментов по умолчанию в SP, может ли этот скрипт сделать это тоже? – F8R

+0

Панель инструментов, которая имеет прикрепленный файл и проверку орфографии? SPUtility.js нет, но вы можете скрыть его с помощью css: table.ms-toolbar {display: none} –

0

Используйте Infowise Smart List Lite, бесплатную версию нашего продукта Smart List Pro. Ваше требование - лишь одна из его многочисленных функций.

+0

Thx Vlad, я попробую его: P. – F8R

+0

Эта веб-часть выглядит круто! Мне нужно будет когда-нибудь его загрузить. Проверка поля - это то, что я хочу добавить в SPUtility.js. : D –

+0

это не веб-часть :) –