Дмитрий
277800149f
@
...
fix(sales): строгое разделение двух ролей начальника — экраны «мои» больше не показывают отдел
Начальник продаёт сам и руководит отделом. Правило «начальник видит всё»
применялось к ЧЕЛОВЕКУ, а не к экрану, поэтому разделы меню врали:
- «Потенциальные клиенты» показывали все карточки отдела — точную копию
«Воронки отдела» (это владелец и заметил);
- «Мои клиенты» и «Сводка» — всех клиентов отдела;
- «Привязать клиента» — очередь заявок отдела, причём в ЧУЖОМ формате
({pending, history} вместо {data}), форма получала не те данные.
Новое правило: роли разделяются по ЭКРАНУ. Любой запрос по умолчанию отдаёт
только личное — включая начальника. Весь отдел выдаётся только по явному
?scope=department, и просят его только экраны раздела НАЧАЛЬНИК. Менеджеру
параметр ничего не даёт: проверка по роли, не по параметру.
ownedTenantIds теперь ВСЕГДА личные привязки (тип сузился с ?array до array),
добавлен visibleTenantIds для области видимости запроса.
Правом начальника осталось открыть ЛЮБУЮ карточку — кандидата и клиента:
иначе из «Воронки отдела» не открылась бы карточка чужого менеджера.
Ограничены только списки, не доступ к записи.
Следствие: у начальника сейчас 0 своих кандидатов и клиентов, поэтому его
личные экраны станут пустыми — это правильно, а не поломка.
Pest 272/272, Vitest зелёный, vue-tsc чист, Larastan без своих ошибок.
Спека — §23.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
@
2026-07-18 15:59:56 +03:00
..
2026-05-08 17:32:58 +03:00
2026-06-17 05:17:12 +03:00
2026-06-30 04:57:58 +03:00
2026-06-17 05:17:12 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 07:13:50 +03:00
2026-07-16 19:06:39 +03:00
2026-05-09 05:33:21 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 07:13:50 +03:00
2026-05-17 07:13:50 +03:00
2026-06-29 11:32:21 +03:00
2026-06-28 08:42:19 +03:00
2026-06-28 10:14:47 +03:00
2026-07-08 15:29:40 +03:00
2026-06-17 05:17:12 +03:00
2026-06-28 12:59:01 +03:00
2026-06-26 04:27:32 +03:00
2026-06-25 18:52:39 +03:00
2026-06-17 05:17:12 +03:00
2026-06-17 05:17:12 +03:00
2026-05-17 08:18:44 +03:00
2026-05-18 03:42:41 +03:00
2026-05-18 03:42:41 +03:00
2026-06-28 12:06:56 +03:00
2026-06-28 12:06:56 +03:00
2026-07-14 05:03:38 +03:00
2026-06-17 05:17:12 +03:00
2026-07-07 17:50:36 +03:00
2026-06-19 11:29:46 +03:00
2026-05-28 09:52:42 +03:00
2026-06-19 11:29:46 +03:00
2026-05-17 03:28:05 +03:00
2026-06-18 23:33:26 +03:00
2026-06-18 23:33:26 +03:00
2026-07-02 12:04:16 +03:00
2026-07-02 12:04:16 +03:00
2026-06-28 15:41:07 +03:00
2026-06-28 15:53:36 +03:00
2026-07-05 09:02:40 +03:00
2026-07-08 07:56:30 +03:00
2026-07-01 18:27:00 +03:00
2026-06-30 04:18:46 +03:00
2026-06-30 04:18:46 +03:00
2026-06-28 15:22:36 +03:00
2026-06-28 15:33:20 +03:00
2026-07-14 13:14:49 +03:00
2026-07-05 06:40:10 +03:00
2026-07-08 07:56:30 +03:00
2026-06-30 04:18:46 +03:00
2026-06-23 03:47:19 +03:00
2026-06-25 12:21:55 +03:00
2026-05-26 20:39:21 +03:00
2026-06-29 11:32:21 +03:00
2026-07-14 13:14:49 +03:00
2026-06-23 09:06:46 +03:00
2026-07-02 12:04:16 +03:00
2026-06-28 12:59:01 +03:00
2026-05-23 18:46:22 +03:00
2026-07-05 06:22:48 +03:00
2026-07-05 06:08:53 +03:00
2026-05-17 03:33:51 +03:00
2026-07-04 18:32:16 +03:00
2026-05-12 10:06:08 +03:00
2026-06-25 12:28:38 +03:00
2026-06-27 12:47:49 +03:00
2026-05-12 20:23:51 +03:00
2026-06-17 13:30:46 +03:00
2026-06-17 05:17:12 +03:00
2026-06-28 12:59:01 +03:00
2026-06-25 12:54:32 +03:00
2026-06-17 05:17:12 +03:00
2026-07-08 07:56:30 +03:00
2026-05-18 03:42:40 +03:00
2026-05-18 03:42:40 +03:00
2026-06-19 11:29:35 +03:00
2026-07-08 18:57:07 +03:00
2026-06-28 12:59:01 +03:00
2026-05-12 09:49:37 +03:00
2026-05-12 20:23:51 +03:00
2026-06-27 12:47:49 +03:00
2026-06-28 12:59:01 +03:00
2026-07-02 12:04:16 +03:00
2026-07-13 14:04:49 +03:00
2026-07-06 10:54:50 +03:00
2026-07-05 15:33:31 +03:00
2026-07-04 19:07:59 +03:00
2026-07-05 13:52:43 +03:00
2026-05-12 20:23:51 +03:00
2026-05-17 02:23:26 +03:00
2026-06-25 13:41:27 +03:00
2026-07-12 13:18:18 +03:00
2026-06-25 12:25:04 +03:00
2026-05-16 10:09:29 +03:00
2026-06-19 17:09:59 +03:00
2026-06-17 05:17:12 +03:00
2026-06-27 10:23:55 +03:00
2026-06-29 11:32:21 +03:00
2026-06-28 12:59:01 +03:00
2026-07-14 08:58:33 +03:00
2026-05-17 07:13:51 +03:00
2026-06-23 03:47:19 +03:00
2026-05-12 09:45:22 +03:00
2026-07-09 09:45:12 +03:00
2026-06-22 20:54:28 +03:00
2026-05-18 03:42:41 +03:00
2026-06-28 12:59:01 +03:00
2026-05-12 15:20:18 +03:00
2026-07-12 13:10:00 +03:00
2026-07-08 17:00:37 +03:00
2026-05-12 20:23:51 +03:00
2026-05-18 03:42:41 +03:00
2026-07-02 12:04:16 +03:00
2026-06-24 16:07:02 +03:00
2026-06-24 16:07:02 +03:00
2026-07-14 13:14:49 +03:00
2026-07-02 12:04:16 +03:00
2026-05-12 22:14:51 +03:00
2026-05-09 11:27:57 +03:00
2026-06-19 11:29:46 +03:00
2026-05-12 09:59:22 +03:00
2026-07-08 15:29:40 +03:00
2026-06-17 05:17:12 +03:00
2026-06-23 11:32:42 +03:00
2026-07-15 21:41:53 +03:00
2026-05-21 08:37:26 +03:00
2026-06-25 19:08:47 +03:00
2026-07-15 21:41:53 +03:00
2026-05-18 14:33:33 +03:00
2026-05-18 03:41:46 +03:00
2026-05-21 08:37:26 +03:00
2026-07-02 12:04:16 +03:00
2026-06-28 12:59:01 +03:00
2026-05-21 08:37:26 +03:00
2026-07-14 13:14:49 +03:00
2026-07-18 12:29:04 +03:00
2026-07-18 10:57:15 +03:00
2026-07-17 08:31:12 +03:00
2026-05-13 13:30:51 +03:00
2026-07-05 06:08:53 +03:00
2026-07-07 16:27:44 +03:00
2026-06-17 07:22:08 +03:00
2026-06-24 16:48:35 +03:00
2026-05-16 12:45:51 +03:00
2026-05-16 12:45:51 +03:00
2026-07-14 09:36:32 +03:00
2026-05-17 08:18:43 +03:00
2026-07-08 18:57:07 +03:00
2026-06-27 13:43:10 +03:00
2026-07-05 04:31:19 +03:00
2026-07-02 18:22:49 +03:00
2026-07-18 15:20:44 +03:00
2026-07-02 19:50:24 +03:00
2026-07-02 19:50:24 +03:00
2026-07-02 20:29:32 +03:00
2026-07-02 20:45:17 +03:00
2026-06-30 13:27:04 +03:00
2026-07-02 21:40:59 +03:00
2026-07-18 14:29:18 +03:00
2026-07-02 20:29:32 +03:00
2026-07-18 15:20:44 +03:00
2026-07-18 14:29:18 +03:00
2026-07-18 12:36:14 +03:00
2026-07-18 12:29:04 +03:00
2026-07-18 14:00:55 +03:00
2026-07-18 15:59:56 +03:00
2026-07-15 16:46:54 +03:00
2026-07-18 10:57:15 +03:00
2026-07-02 18:22:49 +03:00
2026-07-05 19:25:19 +03:00
2026-06-28 12:59:01 +03:00
2026-05-09 05:33:21 +03:00
2026-05-12 20:23:51 +03:00
2026-05-09 05:33:21 +03:00
2026-05-23 20:02:38 +03:00
2026-06-17 03:17:32 +03:00
2026-06-17 03:17:32 +03:00
2026-05-23 18:46:23 +03:00
2026-05-12 09:15:29 +03:00
2026-06-22 21:50:13 +03:00
2026-06-29 11:32:21 +03:00
2026-07-12 12:56:22 +03:00
2026-07-10 08:49:40 +03:00
2026-07-08 18:57:07 +03:00
2026-05-13 01:46:30 +03:00
2026-05-17 02:23:26 +03:00
2026-05-12 20:23:51 +03:00
2026-05-18 03:42:41 +03:00
2026-05-12 20:23:51 +03:00
2026-05-12 09:37:43 +03:00
2026-05-12 11:57:35 +03:00
2026-07-07 17:45:37 +03:00
2026-07-03 17:34:03 +03:00
2026-05-09 10:17:51 +03:00
2026-05-09 03:43:58 +03:00
2026-05-18 03:42:41 +03:00
2026-05-12 20:23:51 +03:00
2026-07-12 13:10:00 +03:00