Я думаю, вам нужно написать код на стороне сервера, возможно, плагин для достижения этой цели.Плагин будет работать независимо от источника события (массовое редактирование; импорт; api)
Плагины также труднее «случайно» деактивировать, поскольку к ним можно получить доступ только через инструмент регистрации плагинов
.Плагин должен быть зарегистрирован в сообщении Update
в конвейере pre-operation
.Вам, вероятно, потребуется зарегистрировать предварительное изображение, содержащее необходимые поля (например, уровень задачи)
. Затем плагин будет:
- Читать уровень (уровень 1, 2, 3)., 4 или 5) из задачи (или предварительного изображения)
- Считать данные текущего пользователя
- Определить, находится ли текущий пользователь в правильной команде
- ЕслиКоманда неверна, наберите
InvalidPluginExecutionException
, чтобы предотвратить сохранение задачи
Это должно помешать пользователям (у которых нет нужной команды) сохранить задачу
Кроме того,регистрация шагов плагина должна иметь фильтр атрибутов, чтобы плагин выполнялся только тогда, когда изменился набор параметров утверждения