Дмитрий
947cb3403a
Accessibility (Pa11y live) / a11y (push) Has been cancelled
SAST — Semgrep / Semgrep SAST scan (push) Has been cancelled
fix(воронка-продаж): сроки фильтра по датам — «Просроченные» отдельным пунктом, планы смотрят вперёд
...
Просьба владельца 01.08.2026: «убери вчера, наверх создай просроченные,
сегодня, завтра и т.д. и проверь что они правильно привязаны и реально
работают»; во втором режиме «убери завтра — завтра у тебя не может быть».
У каждого режима теперь СВОЙ список сроков, они не пересекаются:
Что надо сделать (вперёд): Просроченные / Сегодня / Завтра /
Ближайшие 7 дней / Ближайшие 30 дней / Произвольный
Что менялось (назад): Сегодня / Вчера / 7 дней / 30 дней / Произвольный
Каждый пункт показывает ровно то, что на нём написано. Раньше просроченное
подмешивалось в ЛЮБОЙ выбранный период, и «Сегодня» показывало не только
сегодняшнее — теперь это отдельный первый пункт (period=overdue), а подпись
«плюс всё просроченное» убрана за ненадобностью.
Вторая, невидимая глазом поломка: «7/30 дней» в режиме планов считались
НАЗАД (d7/d30) — «что надо сделать за прошедшую неделю». Добавлены зеркала
next7/next30 в SalesPeriodResolver.
Срок из чужого набора («что менялось завтра») сервер отвергает с 422, а не
подменяет молча текущим месяцем, как делал прежний резолвер по умолчанию.
Проверено:
- сервер: 30/30 (фильтр + резолвер), весь отдел продаж 498/498;
- фронт: 1739/1739 весь набор;
- приёмка вырезанием — подложил поломку в оба места, оба набора покраснели;
- глазами в браузере 1920×1080: списки сроков в обоих режимах, «Просроченные»
дают ровно забытые карточки, «Завтра» — ровно завтрашнюю (скрины 08–12).
Попутно починен чужой протухший тест advertising-channels: Телеграм давно
стал живым роутом, а тест продолжал считать его заглушкой и был красным.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
(cherry picked from commit 975175750a )
2026-08-01 16:16:51 +03:00
..
2026-07-30 12:16:14 +03:00
2026-05-25 14:23:11 +03:00
2026-07-30 12:16:14 +03:00
2026-05-19 16:23:43 +03:00
2026-05-23 13:43:28 +03:00
2026-05-21 04:21:26 +03:00
2026-05-20 04:50:18 +03:00
2026-05-20 09:11:07 +03:00
2026-05-21 04:42:41 +03:00
2026-05-20 10:08:31 +03:00
2026-05-21 14:32:49 +03:00
2026-05-21 06:27:59 +03:00
2026-05-25 14:23:11 +03:00
2026-07-30 12:16:14 +03:00
2026-05-25 14:23:11 +03:00
2026-05-23 11:34:51 +03:00
2026-05-25 14:23:11 +03:00
2026-05-23 15:50:37 +03:00
2026-05-23 13:49:42 +03:00
2026-05-25 14:23:11 +03:00
2026-05-26 20:38:50 +03:00
2026-05-24 15:11:43 +03:00
2026-07-30 12:16:14 +03:00
2026-05-25 07:31:33 +03:00
2026-05-24 15:13:18 +03:00
2026-05-25 18:10:31 +03:00
2026-05-25 16:25:22 +03:00
2026-05-26 11:25:29 +03:00
2026-05-26 11:25:29 +03:00
2026-07-30 12:16:14 +03:00
2026-06-16 15:57:06 +03:00
2026-05-29 14:58:46 +03:00
2026-07-30 12:16:14 +03:00
2026-05-29 09:50:18 +03:00
2026-05-29 18:13:08 +03:00
2026-05-29 18:13:08 +03:00
2026-05-29 18:13:08 +03:00
2026-06-16 15:57:06 +03:00
2026-05-31 05:58:13 +03:00
2026-06-04 15:37:26 +03:00
2026-06-04 18:59:52 +03:00
2026-06-02 09:32:39 +03:00
2026-06-03 14:52:08 +03:00
2026-06-04 12:27:12 +03:00
2026-06-04 18:43:43 +03:00
2026-06-05 10:39:24 +03:00
2026-06-05 17:53:22 +03:00
2026-06-07 10:30:48 +03:00
2026-06-07 18:18:59 +03:00
2026-06-08 19:47:30 +03:00
2026-06-08 18:03:17 +03:00
2026-06-09 03:24:22 +03:00
2026-06-09 19:05:23 +03:00
2026-06-09 08:30:43 +03:00
2026-06-09 04:59:10 +03:00
2026-06-09 06:07:55 +03:00
2026-06-09 16:51:46 +03:00
2026-06-10 05:38:21 +03:00
2026-06-11 12:59:31 +03:00
2026-06-10 13:36:57 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-13 04:12:53 +03:00
2026-06-12 19:15:48 +03:00
2026-06-12 19:15:48 +03:00
2026-06-14 04:08:53 +03:00
2026-06-13 11:42:09 +03:00
2026-06-14 04:08:53 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-13 11:42:09 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-14 15:44:42 +03:00
2026-06-14 08:55:55 +03:00
2026-06-16 15:57:06 +03:00
2026-06-14 06:11:11 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 16:31:57 +03:00
2026-06-17 03:17:32 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 13:50:05 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 13:43:12 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 15:57:06 +03:00
2026-06-16 11:13:52 +03:00
2026-06-16 11:13:52 +03:00
2026-06-17 19:33:58 +03:00
2026-06-17 16:25:23 +03:00
2026-06-17 16:25:23 +03:00
2026-06-17 19:56:23 +03:00
2026-06-17 19:56:23 +03:00
2026-06-17 19:30:51 +03:00
2026-06-17 21:37:41 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-17 03:35:48 +03:00
2026-06-17 04:38:55 +03:00
2026-06-21 04:48:50 +03:00
2026-06-17 17:24:48 +03:00
2026-06-17 14:34:39 +03:00
2026-06-17 20:43:28 +03:00
2026-06-17 20:04:11 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-17 20:04:11 +03:00
2026-06-17 17:12:32 +03:00
2026-06-17 17:12:32 +03:00
2026-06-17 16:25:23 +03:00
2026-06-17 13:16:32 +03:00
2026-06-17 14:34:39 +03:00
2026-06-17 14:34:39 +03:00
2026-06-17 17:54:50 +03:00
2026-06-17 20:21:11 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-18 17:35:32 +03:00
2026-06-18 19:33:33 +03:00
2026-06-18 15:42:02 +03:00
2026-06-18 17:35:32 +03:00
2026-06-18 22:25:23 +03:00
2026-06-18 23:33:26 +03:00
2026-06-18 14:40:12 +03:00
2026-06-21 04:48:50 +03:00
2026-06-18 13:46:31 +03:00
2026-06-18 13:46:31 +03:00
2026-06-18 15:01:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-21 04:48:50 +03:00
2026-06-19 04:36:45 +03:00
2026-06-19 04:56:53 +03:00
2026-06-19 07:54:57 +03:00
2026-07-30 12:16:14 +03:00
2026-06-19 10:56:18 +03:00
2026-06-19 10:07:11 +03:00
2026-06-19 14:18:16 +03:00
2026-06-19 16:09:07 +03:00
2026-06-22 16:43:10 +03:00
2026-06-22 16:43:10 +03:00
2026-06-21 04:48:50 +03:00
2026-06-22 16:43:10 +03:00
2026-06-21 05:38:37 +03:00
2026-06-20 16:47:29 +03:00
2026-06-21 16:20:49 +03:00
2026-06-22 04:29:05 +03:00
2026-06-22 18:40:30 +03:00
2026-07-30 12:16:14 +03:00
2026-06-23 17:51:55 +03:00
2026-06-23 17:51:55 +03:00
2026-06-22 18:20:54 +03:00
2026-06-21 08:11:02 +03:00
2026-06-21 09:34:31 +03:00
2026-06-21 09:15:20 +03:00
2026-06-21 03:28:51 +03:00
2026-06-21 03:28:51 +03:00
2026-06-21 13:26:29 +03:00
2026-06-22 18:32:10 +03:00
2026-06-22 19:26:42 +03:00
2026-06-22 16:43:10 +03:00
2026-06-23 17:51:55 +03:00
2026-06-24 05:57:16 +03:00
2026-06-22 19:39:32 +03:00
2026-06-23 14:58:44 +03:00
2026-06-25 05:21:57 +03:00
2026-06-24 09:31:52 +03:00
2026-06-26 09:39:19 +03:00
2026-06-25 11:54:02 +03:00
2026-06-25 16:57:37 +03:00
2026-06-27 12:37:28 +03:00
2026-06-27 06:21:00 +03:00
2026-06-27 10:09:50 +03:00
2026-06-28 12:57:27 +03:00
2026-06-28 13:54:44 +03:00
2026-06-28 09:54:09 +03:00
2026-06-28 05:05:05 +03:00
2026-07-05 19:25:19 +03:00
2026-06-29 11:32:21 +03:00
2026-06-30 20:03:48 +03:00
2026-07-30 12:16:14 +03:00
2026-06-30 21:06:10 +03:00
2026-07-01 15:47:12 +03:00
2026-07-01 12:36:09 +03:00
2026-07-02 07:26:28 +03:00
2026-07-10 08:49:42 +03:00
2026-07-02 12:26:41 +03:00
2026-07-02 13:34:13 +03:00
2026-07-03 22:17:19 +03:00
2026-07-05 19:07:26 +03:00
2026-07-06 10:07:47 +03:00
2026-07-06 08:54:48 +03:00
2026-07-06 16:01:09 +03:00
2026-07-06 10:54:50 +03:00
2026-07-07 08:28:32 +03:00
2026-07-07 16:49:54 +03:00
2026-07-07 12:11:14 +03:00
2026-07-07 18:36:06 +03:00
2026-07-08 16:51:24 +03:00
2026-07-08 07:56:45 +03:00
2026-07-08 03:53:35 +03:00
2026-07-12 19:14:22 +03:00
2026-07-12 16:25:13 +03:00
2026-07-12 07:28:03 +03:00
2026-07-12 07:28:03 +03:00
2026-07-13 06:27:29 +03:00
2026-07-13 10:55:32 +03:00
2026-07-13 18:33:21 +03:00
2026-07-28 09:51:52 +03:00
2026-07-16 15:42:41 +03:00
2026-07-16 16:56:24 +03:00
2026-07-16 19:15:37 +03:00
2026-07-17 07:56:06 +03:00
2026-07-17 07:14:55 +03:00
2026-07-19 10:24:21 +03:00
2026-07-18 18:09:39 +03:00
2026-07-20 08:00:27 +03:00
2026-07-19 09:34:59 +03:00
2026-07-19 19:11:17 +03:00
2026-07-21 06:35:43 +03:00
2026-07-21 15:34:55 +03:00
2026-07-21 10:01:46 +03:00
2026-07-22 13:49:06 +03:00
2026-07-22 08:27:28 +03:00
2026-07-23 13:21:26 +03:00
2026-07-25 20:08:31 +03:00
2026-07-26 22:02:58 +03:00
2026-07-27 15:26:57 +03:00
2026-07-27 20:56:29 +03:00
2026-07-27 12:32:59 +03:00
2026-07-27 12:32:11 +03:00
2026-07-29 06:26:07 +03:00
2026-07-28 20:10:18 +03:00
2026-07-31 16:11:09 +03:00
2026-08-01 16:16:51 +03:00