<< Click to Display Table of Contents >> Разработка > Примеры разработки > Документы Как настроить строгий доступ к документу |
Ситуация
Предположим, необходимо, чтобы пользователи могли включать строгий доступ для договоров. Для всех остальных документов кнопка в карточке не должна отображаться. Кроме того, при нажатии на кнопку должен появляться диалог подтверждения.
Решение
Переопределите логику действия ToggleStrictRights. Для этого:
1.В своем решении перекройте тип документа «Договор» (Sungero.Contracts.Contract).
2.В редакторе решения добавьте зависимость от модуля «Договоры» (Sungero.Contracts).
3.В редакторе перекрытого типа документа перейдите в узел «Действия». В списке элементов выберите действие ToggleStrictRights.
4.Установите флажок рядом с обработчиком Выполнение / Возможность выполнения и перейдите по ссылке.
5.Чтобы изменить стандартную логику, в открывшемся редакторе переопределите функции ToggleEncryption() и CanToggleEncryption(). Для этого напишите код:
public override void ToggleStrictRights(Sungero.Domain.Client.ExecuteActionArgs e)
{
// Создать диалог подтверждения.
var dialog = Dialogs.CreateConfirmDialog("Вы уверены, что хотите включить строгий доступ?");
// Включить строгий доступ при подтверждении.
if (dialog.Show())
{
base.ToggleStrictRights(e);
}
}
public override bool CanToggleStrictRights(Sungero.Domain.Client.CanExecuteActionArgs e)
{
// Показать кнопку щита, если документ – договор.
return _obj.AccessRights.CanManage();
}
В результате в карточках договоров появится кнопка, при нажатии на нее появится окно подтверждения.
Примечание. Настроить строгий доступ для нужных типов документов также может администратор с помощью параметров конфигурационного файла.
© Компания Directum, 2024 |