Improve campaign personalization and contact duplicate handling.
Add merge tags for email/SMS, paginated removable recipients, PCM event panels for postcard campaigns, and a portal modal when phone/address matches an existing contact.
This commit is contained in:
@@ -5,7 +5,7 @@ from django.core.mail import EmailMultiAlternatives
|
||||
from django.template.loader import get_template
|
||||
|
||||
from contacts.models import Channel
|
||||
from messaging.services import one_click_unsubscribe_url, preferences_url
|
||||
from messaging.services import one_click_unsubscribe_url, preferences_url, render_merge_tags
|
||||
from public.email_branding import (
|
||||
campaign_body_to_email_html,
|
||||
campaign_body_to_plain_text,
|
||||
@@ -28,6 +28,8 @@ def send_email(message) -> str:
|
||||
body = message.body_snapshot or campaign.body_override or (
|
||||
campaign.template.body if campaign.template else ""
|
||||
)
|
||||
subject = render_merge_tags(subject, contact)
|
||||
body = render_merge_tags(body, contact)
|
||||
|
||||
site = (settings.PUBLIC_SITE_URL or "").rstrip("/")
|
||||
prefs_path = preferences_url(str(contact.pk), Channel.EMAIL)
|
||||
|
||||
@@ -5,6 +5,8 @@ import logging
|
||||
import requests
|
||||
from django.conf import settings
|
||||
|
||||
from messaging.services import render_merge_tags
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -21,6 +23,7 @@ def send_sms(message) -> str:
|
||||
body = message.body_snapshot or campaign.body_override or (
|
||||
campaign.template.body if campaign.template else ""
|
||||
)
|
||||
body = render_merge_tags(body, contact)
|
||||
|
||||
payload = {
|
||||
"api_key": api_key,
|
||||
|
||||
Reference in New Issue
Block a user