Skip to content

DEV: prevent project saves from reopening closed vacancies - #716

Merged
TThanos3000 merged 1 commit into
devfrom
fix/dev-project-vacancy-draft-transition
Aug 28, 2026
Merged

DEV: prevent project saves from reopening closed vacancies#716
TThanos3000 merged 1 commit into
devfrom
fix/dev-project-vacancy-draft-transition

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Причина

Обычный Project.save() для опубликованного проекта повторно активировал все его вакансии через projects.signals.update_vacancy. Массовый QuerySet.update() также оставлял datetime_closed несогласованным.

Изменения

  • предыдущее значение Project.draft фиксируется в pre_save;
  • вакансии изменяются только при реальном переходе draft=False -> True или draft=True -> False;
  • закрытие синхронизирует is_active=False, datetime_closed и datetime_updated;
  • повторная публикация синхронизирует is_active=True, datetime_closed=None и datetime_updated;
  • feed create/delete вызывается только при фактическом изменении is_active;
  • добавлен regression-тест accept отклика с последующим обычным сохранением проекта.

Проверки

  • Backend PostgreSQL CI: passed
    • PostgreSQL vendor и select_for_update=True: passed
    • Django checks, migration consistency и миграции на пустой БД: passed
    • targeted locking/vacancy response tests: 32/32
    • full backend suite: 550/550
  • CI Lint: passed
  • CI Tests: passed
  • Black (изменённые файлы): passed
  • Flake8 (изменённые файлы): passed
  • compileall projects/vacancy: passed
  • manage.py check --tag models: passed
  • makemigrations --check --dry-run --skip-checks: no changes detected
  • git diff --check: passed

Локально database tests не стартовали из-за отсутствующего PostgreSQL на localhost:5432, а полный manage.py check — из-за отсутствующей системной библиотеки WeasyPrint gobject-2.0-0; обе проверки успешно выполнены в PostgreSQL CI.

Scope

Миграции, frontend, Docker, workflows/deploy, catalog #715 и response lifecycle #712 не изменялись.

@TThanos3000
TThanos3000 marked this pull request as ready for review August 28, 2026 11:22
@TThanos3000
TThanos3000 merged commit 7d41166 into dev Aug 28, 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.

1 participant