Description
Once a campaign is launched, there is no UI to pause it. If a user realizes there's a typo, they cannot stop the remaining emails from going out.
Steps to Reproduce
- Launch a campaign.
- Go to the Campaigns dashboard.
- Try to find a Pause button.
Expected Behavior
Add a "Pause" button next to active campaigns. This should update the campaign status to PAUSED. The Celery beat scheduler should check this status before processing the next batch.
Implementation Hints
# backend/campaigns/models.py
# Ensure Celery checks campaign status
active_campaigns = Campaign.objects.filter(status='ACTIVE')
Description
Once a campaign is launched, there is no UI to pause it. If a user realizes there's a typo, they cannot stop the remaining emails from going out.
Steps to Reproduce
Expected Behavior
Add a "Pause" button next to active campaigns. This should update the campaign status to
PAUSED. The Celery beat scheduler should check this status before processing the next batch.Implementation Hints