Skip to content

Галочка создания программ в карточке пользователя и необязательный тег - #843

Merged
TThanos3000 merged 1 commit into
devfrom
feat/dev-user-program-creation-control
Oct 27, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
feat/dev-user-program-creation-control

Conversation

@TThanos3000

Copy link
Copy Markdown
Collaborator

Что изменено

В карточке пользователя, в блоке «Права доступа», добавлена галочка «Может создавать программы». Она выдает и снимает существующее личное разрешение partner_programs.add_partnerprogram, которое проверяет фронт. Все подписи и подсказки блока прав на русском. Остальные разрешения и флаги доступа сохраняются.

Право через группу или статус суперпользователя отображается отмеченной недоступной галочкой с пояснением; обычное сохранение карточки не превращает его в дополнительную личную выдачу. Если личное разрешение уже существовало, оно сохраняется.

Тег программы сделан необязательным в общей модели: фронт и раньше создавал черновик с tag="", а ModelForm админки требовала значение. Теперь создание и редактирование допускают пустой тег. Заполненные теги не изменяются.

Проверка

  • PostgreSQL 18: 83 теста прошли — новые HTTP-тесты карточки пользователя и пустого тега, регрессии создания/публикации программ, регистрации в админке и списка экспертов.
  • Проверены выдача/отзыв права через настоящую админку и результат GET /programs/capabilities/, сохранение других прав, новая карточка, неверные данные, группы, суперпользователь и запрет изменения без права редактирования пользователей.
  • Flake8 по измененным Python-файлам, git diff --check, makemigrations --check --dry-run прошли.
  • sqlmigrate partner_programs 0042: SQL no-op. Миграция применена при подготовке тестовой PostgreSQL.
  • Проверен рендер настоящего блока прав в браузере: галочка снята, выдана лично, получена через группу; временные данные откатились. Это изолированная визуальная проверка, а не приемка на dev.

Риски и ограничения

Нужна миграция 0042_partnerprogram_tag_optional: меняет только правила валидации, без переписывания данных и DDL. Новый флаг в модели пользователя, новые переменные окружения и feature flags не добавлялись. API payload/response и правила проверки права создания не меняются. Доступ к карточке пользователя остается под стандартными правами Django admin. Angular не менялся.

Изменения подготовлены для dev; выкладка и приемка новой галочки на dev еще не выполнялись.

@TThanos3000
TThanos3000 merged commit 320df2b into dev Oct 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants