# Единый источник приоритетов PRIORITY = [("0", "Low"), ("1", "Normal"), ("2", "High")] # Коды стадий STAGE_DRAFT = "draft" STAGE_CONFIRMED = "confirmed" STAGE_PLANNED = "planned" STAGE_IN_PROGRESS = "in_progress" STAGE_PAUSED = "paused" STAGE_DONE = "done" STAGE_CANCELLED = "cancelled" # Единый словарь допустимых переходов стейт-машины STAGE_TRANSITIONS = { STAGE_DRAFT: {STAGE_CONFIRMED, STAGE_PLANNED, STAGE_CANCELLED}, STAGE_CONFIRMED: {STAGE_PLANNED, STAGE_IN_PROGRESS, STAGE_CANCELLED}, STAGE_PLANNED: {STAGE_IN_PROGRESS, STAGE_CANCELLED}, STAGE_IN_PROGRESS: {STAGE_PAUSED, STAGE_DONE}, STAGE_PAUSED: {STAGE_IN_PROGRESS, STAGE_CANCELLED}, STAGE_DONE: set(), STAGE_CANCELLED: set(), }