Перейти к содержанию

Управление проектом (7 экранов)

Policy D2: /p/:pid используется только для настроек проекта; остальные project-scoped экраны в CRM-space живут без префикса.


/p/:pid/settings — Project Settings

Назначение: Общие настройки проекта. Доступ: Project Admin+.

Компоновка:
  ├── Header + Sidebar проекта
  └── Main:
      ├── Заголовок: «Настройки — [Название проекта]»
      │
      ├── Секция «Основное»:
      │   ├── Название проекта (input)
      │   ├── Описание (textarea)
      │   ├── Пространство: Личное / [Название организации] (read-only)
      │   └── Шаблон: «Продажи B2B» (read-only, информационно)
      │
      ├── Быстрые ссылки:
      │   ├── Модули → /p/:pid/settings/modules
      │   ├── Политики доступа → /p/:pid/settings/policies
      │   ├── Участники → /members
      │   └── Роли → /roles
      │
      ├── Кнопка: [Сохранить]
      │
      └── Секция «Опасная зона» (красная обводка):
          ├── [Архивировать проект] → модал подтверждения
          │   «Все данные станут read-only. Автоматизации остановятся.»
          └── [Удалить проект] (только Project Owner) → модал с вводом названия

/p/:pid/settings/modules — Modules

Назначение: Включение/отключение модулей проекта. Доступ: Project Admin+.

Компоновка:
  ├── Header + Sidebar проекта
  └── Main:
      ├── Заголовок: «Модули»
      └── Список модулей (каждый — карточка с toggle):

          ┌─────────────────────────────────────────┐
          │ ☑ Контакты                    [toggle ON]│
          │ База контактов проекта.                  │
          │ Связь с компаниями (many-to-many).       │
          └─────────────────────────────────────────┘

          ┌─────────────────────────────────────────┐
          │ ☐ Продажи                     [toggle OFF]│
          │ Типы продаж, этапы, канбан.             │
          │ Включение: DLQ, webhook.                 │
          └─────────────────────────────────────────┘

          ...аналогично для всех 9 модулей.

          При отключении модуля с данными:
          ├── Предупреждение: «В модуле есть N записей. Они станут недоступны.»
          ├── Чекбокс: «Я понимаю, данные не удаляются»
          └── [Отключить]

/p/:pid/settings/policies — Access Policies

Назначение: Настройка политик видимости записей. Доступ: Project Admin+.

Компоновка:
  ├── Header + Sidebar проекта
  └── Main:
      ├── Заголовок: «Политики доступа»
      │
      ├── Секция «Видимость для роли Member»:
      │   ├── ○ Только свои записи
      │   ├── ◉ Свои + расшаренные (по умолчанию)
      │   ├── ○ Свои + записи подчинённых
      │   ├── ○ Свои + записи своего отдела
      │   └── ○ Все записи проекта
      │
      ├── Секция «Видимость для роли Manager»:
      │   └── ◉ Все записи проекта (по умолчанию, нельзя ограничить)
      │
      ├── Секция «Шаринг»:
      │   ├── ☑ Разрешить шаринг записей
      │   └── ☑ Уведомлять при шаринге
      │
      └── Кнопка: [Сохранить]

/members — Project Members

Назначение: Список участников проекта. Доступ: Project Admin+.

Компоновка:
  ├── Header + Sidebar проекта
  └── Main:
      ├── Заголовок: «Участники» | Счётчик: 8 чел. | Кнопка: [+ Пригласить]
      │
      └── Таблица:
          | Аватар | Имя       | Email           | Роль     | Отдел     | Источник     | ⋮  |
          | 👤     | Петрова   | pet@mail.com    | Manager  | B2B       | Отдел        | ⋮  |
          | 👤     | Козлов    | koz@mail.com    | Admin    | —         | Вручную      | ⋮  |

          Меню ⋮: Изменить роль | Удалить из проекта

          «Источник»: откуда попал — через привязку отдела или добавлен вручную.

/members/invite — Invite Member

Назначение: Приглашение участника в проект. Доступ: Project Admin+.

Компоновка (форма):
  ├── Заголовок: «Пригласить в проект»
  │
  ├── Для организации:
  │   ├── Dropdown «Выберите сотрудника» (из списка организации)
  │   └── Или ввод email (для внешних участников, если личный проект)
  │
  ├── Для личного проекта:
  │   └── Email (input)
  │
  ├── Роль: dropdown (Viewer / Member / Manager / Admin)
  └── Кнопки: [Отмена] [Пригласить]

/roles — Project Roles

Назначение: Просмотр ролей и прав в проекте. Доступ: Project Admin+.

Компоновка:
  ├── Header + Sidebar проекта
  └── Main:
      ├── Заголовок: «Роли проекта»
      └── Таблица прав (матрица):

          | Действие                        | Owner | Admin | Manager | Member | Viewer |
          |--------------------------------|:-----:|:-----:|:-------:|:------:|:------:|
          | Настройки проекта               |  ✅   |  ✅   |   ❌    |   ❌   |   ❌   |
          | Участники и роли                |  ✅   |  ✅   |   ❌    |   ❌   |   ❌   |
          | Воронки и стадии                |  ✅   |  ✅   |   ✅    |   ❌   |   ❌   |
          | Создание сделок                 |  ✅   |  ✅   |   ✅    |   ✅   |   ❌   |
          | ...                             | ...   | ...   |  ...    |  ...   |  ...   |

          v1: read-only матрица (фиксированные роли).
          v2+: кастомные роли с редактированием матрицы.

/audit — Project Audit Log

Назначение: Журнал действий в проекте. Доступ: Project Admin+.

Компоновка: аналогично /account/organization/audit, но в контексте проекта.

Фильтры:
  ├── Период (date range)
  ├── Пользователь (dropdown — участники проекта)
  ├── Тип действия (create, update, delete, status_change, transfer, merge, share)
  └── Сущность (сделка, контакт, компания, продажа, активность)

Таблица:
  | Время         | Пользователь | Действие                          | Сущность          |
  | 16:00 сегодня | Петрова      | Перевёл сделку «Альфа» на «КП»   | Сделка #42        |

  Клик → раскрытие diff (JSON Patch):
    stage: Квалификация → КП