Only one writeable campaign version at a time

This commit is contained in:
2026-06-13 22:08:07 +02:00
parent ffbddfc773
commit 0bb72541af
6 changed files with 177 additions and 8 deletions

View File

@@ -175,6 +175,10 @@ def _get_current_version(session: Session, campaign: Campaign, version_id: str |
version = session.get(CampaignVersion, wanted)
if not version or version.campaign_id != campaign.id:
raise QueueingError(f"Campaign version not found or not part of campaign: {wanted}")
if campaign.current_version_id != version.id:
raise QueueingError(
"Historical campaign versions are review-only. Open the current working version before queueing or sending."
)
return version