feat: рейтинговые автоматизации, мультивыбор user/role-полей, график history-number
Инфраструктура автоматизаций: - триггер task.status_changed оживлён: вызов из executeTaskTransition (fire-and-forget) + фильтр triggerConfig.statusId - ctx.users.setFieldValue(userId, fieldCodeOrId, value): запись user_profile_field_values с аудитом; для history-number — append в user_field_history (миграция 0078) - документация sandbox обновлена (Automations.tsx, mcp.ts, AGENTS.md) по критическому правилу 2 Мультивыбор пользователей и ролей в user-поле: - чекбокс «Множественный выбор (пользователи и роли)» в настройках поля (form_fields.allow_multiple) - значение — массив ['user:ID','role:ID'], обратная совместимость с одиночными/legacy значениями - UserRoleMultiSelect в карточке задачи, реестре и диалоге создания (роли добавлены и в одиночный сценарий создания) - синк в task_assignees итерирует массив; role:ID раскрывается в членов роли; PATCH single — diff старого/нового значений - отображение массивов: реестр, title-шаблоны, условия полей, MCP update_task_fields - список орг-ролей (/api/roles) загружается всем пользователям (сервер и так был открыт) — роли доступны не только админам График history-number в профиле: - GET /api/users/:id/field-history/:fieldId?period=week|month|quarter|year (агрегация AVG по бакетам) - диалог с LineChart (recharts) и переключателем периодов по клику на иконку у поля
This commit is contained in:
@@ -1283,14 +1283,15 @@ export function FieldValueRow({
|
||||
</div>
|
||||
);
|
||||
}
|
||||
// Пользователь/роль: сохранение сразу по выбору (radix Select)
|
||||
// Пользователь/роль: сохранение сразу по выбору (radix Select);
|
||||
// мультивыбор — сохранение по каждому переключению, выход — клик вне / Esc
|
||||
if (field.type === 'user') {
|
||||
return (
|
||||
<div onClick={e => e.stopPropagation()}>
|
||||
<UserRoleEditor
|
||||
field={field as any}
|
||||
value={editValue as string | number | null | undefined}
|
||||
onChange={(val) => commitValue(val)}
|
||||
onChange={(val) => commitValue(val, { close: !field.allowMultiple })}
|
||||
users={users}
|
||||
roles={roles}
|
||||
autoOpen
|
||||
|
||||
Reference in New Issue
Block a user