Скрытие кнопок переходов из задачи
Данная возможность необходима, когда в зависимости от каких-либо условий требуется скрыть кнопку на форме задачи.
Razor-форма для скрытия кнопки перехода в зависимости от принадлежности текущего исполнителя к определенной группе. Определение кнопки, которую необходимо скрыть, происходит по ее id.
@using EleWise.ELMA.Services;
@using EleWise.ELMA.Security.Services;
@using EleWise.ELMA.Security.Models;
@using EleWise.ELMA.Security.Managers;
<script type='text/javascript'>
{
@{
var currentUser = Locator.GetServiceNotNull<IAuthenticationService>().GetCurrentUser<IUser>();
var BSCReturn = UserGroupManager.Instance.Load("Администраторы");
bool InGroup = UserGroupManager.Instance.GetUsersByGroup(BSCReturn.Id).Any(a => a == currentUser.Id);
}
$(document).ready(function(){
if ('@InGroup' =='False')
{
$('#con033c201f746140cb84c7c3c8b438b940').hide(); // после символа # и con указываем Id перехода без дефисов
}
});
}
</script>
Внешний вид задачи у пользователя, входящего в группу «Администраторы»:

Внешний вид задачи у пользователя, не входящего в группу «Администраторы»:

Пример Razor-формы для скрытия кнопки и ее описания в зависимости от значения в контексте:
Контекстная переменная: Flag – тип «Да/Нет».
<script type="text/javascript">
@{
bool flag = ((dynamic)Model.Entity).Flag; // Flag – имя контекстной переменной
}
$(document).ready(function(){
if ('@flag' =='False')
{
$('#con033c201f746140cb84c7c3c8b438b940').hide(); // после символа # и con указываем Id перехода без дефисов
$('#con033c201f746140cb84c7c3c8b438b940').parent().parent().find('.comment').hide();
}
});
</script>
При копировании из браузера может возникнуть проблема, связанная с неправильным отображением апострофов. На рисунке ниже приведен пример того, как должны выглядеть апострофы.
![]()
Если использовать некорректные апострофы, сценарий не будет работать. Необходимо заменить их на корректные (это можно сделать при помощи сочетания клавиш ctrl+F, Заменить.