← К списку версий
v0.12.0
29.07.2026
MINOR
Passwordless registration, интеграции и UX
Added
- Passwordless registration: пароль стал необязательным при создании; при его отсутствии формируется защищённая ссылка-приглашение, по которой пользователь сам задаст пароль. Форма создания пользователя: поле пароля заменено подсказкой «Оставьте пустым — пользователь сам задаст пароль»
- SetPasswordController GET /set-password/{token} + POST /set-password/{token}: показывается форма, где пользователь вводит пароль → после установки автоматический вход в dashboard. Сообщение: «Администратор уже зарегистрировал вас на платформе IPD»
- Проверка passwordless в login если password = null, выводится ошибка «Вы ещё не установили пароль. Используйте ссылку-приглашение»
- Колонка «Пользователи» на /admin/projects AdminProjectController index: withCount('clients'). Таблица: новая колонка «Пользователи» с счётчиком и склонением (пользователь/пользователя/пользователей)
- Индикатор каналов на странице проекта новая колонка «Каналы»: красный бейдж «0 каналов» (нет верифицированных), жёлтый «N/3» (частично), зелёный «✓ 3/3» (все)
- Кнопка «Отправить подтверждение» email POST /admin/users/{id}/send-email-verification: устанавливает email_verified_at, метод-заглушка для будущей отправки письма
- Фундамент настройки Telegram-бота в разделе «Интеграции»: параметры подключения бота и привязка чата к клиенту с кодом верификации.
- Фундамент SMS Gateway в разделе «Интеграции»: параметры подключения шлюза, имя отправителя и код верификации телефона клиента с меткой времени.
- Модель Client дополнена полями верификации (телефон, Telegram) и флагом установки пароля, добавлен вспомогательный метод.
Changed
- Версия платформы: 0.11.0 → 0.12.0
- `app/Http/Controllers/Admin/AdminUserController.php` — store: password nullable, при отсутствии генерируется verification_token, email_verified_at не ставится. Добавлен sendEmailVerification()
- `app/Http/Controllers/Admin/AdminProjectController.php` — index: withCount('clients')
- `app/Http/Controllers/Admin/SettingsController.php` — добавлен таб «Интеграции» с настройками подключения Telegram и SMS.
- `app/Http/Controllers/Auth/ClientAuthController.php` — login: проверка что password не null, иначе сообщение о ссылке-приглашении
- `resources/views/admin/users/create.blade.php` — поле пароля заменено на подсказку
- `resources/views/admin/projects/index.blade.php` — колонка «Пользователи» с clients_count
- `resources/views/admin/projects/show.blade.php` — колонка «Каналы» с индикатором верификации
- `resources/views/admin/users/show.blade.php` — кнопка «Отправить» для email
- `resources/views/admin/settings.blade.php` — новый таб «Интеграции» с полями Telegram и SMS
- `routes/web.php` — 3 новых маршрута: set-password (GET+POST), send-email-verification
- `config/app.php` — APP_VERSION: 0.11.0 → 0.12.0
Files
- `database/migrations/2026_07_29_100004_add_passwordless_fields_to_clients_table.php` — password nullable, verification_token, password_set_at
- `database/migrations/2026_07_29_100005_add_verification_codes_to_clients_table.php` — поля кодов верификации (Telegram, телефон).
- `app/Http/Controllers/Auth/SetPasswordController.php` — установка пароля по токену
- `resources/views/auth/set-password.blade.php` — форма установки пароля