Skip to content

feat: brand unsubscribe page with org settings#412

Draft
saurabhhhcodes wants to merge 1 commit into
Kuldeeep18:mainfrom
saurabhhhcodes:codex/unsubscribe-branding
Draft

feat: brand unsubscribe page with org settings#412
saurabhhhcodes wants to merge 1 commit into
Kuldeeep18:mainfrom
saurabhhhcodes:codex/unsubscribe-branding

Conversation

@saurabhhhcodes

Copy link
Copy Markdown
Contributor

What changed

  • Added organization-level branding fields for unsubscribe pages: title, message, and logo URL.
  • Updated the public unsubscribe response to render a branded confirmation/unsubscribe page using the lead's organization.
  • Added a test that verifies custom branding is rendered in the HTML response.
  • Added the migration-graph merge migration needed to keep Django's migration path linear.

Why

  • The public unsubscribe page was hardcoded and could not reflect the organization behind the campaign.
  • This keeps the opt-out flow professional while preserving the existing compliance behavior.

Validation

  • python3 -m py_compile backend/campaigns/views.py backend/tenants/models.py backend/campaigns/tests.py backend/tenants/migrations/0003_organization_unsubscribe_branding.py backend/campaigns/migrations/0010_merge_0009_campaign_cached_counters_0009_campaignlead_bounce_metadata.py
  • git diff --check
  • python3 backend/manage.py migrate --noinput
  • Direct Django client check against /api/v1/unsubscribe/<lead>/<token>/ confirmed custom title, message, and logo output

Closes #403

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b0ba1553-fdc1-4ca9-942d-0af00e04baae

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

LO-066 [Easy]: HTML Unsubscribe Page Styling Customization

1 participant