Populate the client website template with catalog feature flags.

Extract always-on public/portal/UTM plus optional email_sms, directmail, blog, payments, social, and social_ai so new client sites can be bootstrapped from this seed.

Refs #1
Refs #2

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-26 07:55:26 -05:00
co-authored by Cursor
parent 45d0888d33
commit 787f0e48fb
297 changed files with 32534 additions and 3 deletions
@@ -0,0 +1,42 @@
"""Pluggable postcard providers."""
from dataclasses import dataclass
from typing import Protocol
from django.conf import settings
@dataclass
class PostcardResult:
provider_id: str
class PostcardProvider(Protocol):
name: str
def send_postcard(self, message) -> PostcardResult: ...
def get_status(self, provider_id: str) -> str: ...
def get_postcard_provider() -> PostcardProvider:
name = (settings.POSTCARD_PROVIDER or "pcm").lower()
if name == "pcm":
from directmail.providers.postcard.pcm import PcmProvider
return PcmProvider()
if name == "click2mail":
from directmail.providers.postcard.click2mail import Click2MailProvider
return Click2MailProvider()
if name == "postgrid":
from directmail.providers.postcard.postgrid import PostGridProvider
return PostGridProvider()
if name == "lob":
from directmail.providers.postcard.lob import LobProvider
return LobProvider()
from directmail.providers.postcard.pcm import PcmProvider
return PcmProvider()