Add PCM carrier-route postcard pick-and-send (#15)
CI / test (pull_request) Successful in 24s

## Summary
Closes #15.
- Let compose target mailing-list contacts or 1–2 USPS carrier routes, with household count and estimated cost shown before save.
- Place selected routes through PCM list-count orders instead of importing occupant addresses into Contacts.
This commit is contained in:
westfarn committed 2026-09-21 15:26:32 -05:00
1 parent a867a57750
commit f7e3c05c59
17 files changed
+1211 -28

No files matched your search

+3 -1
View File
@@ -18,7 +18,9 @@ def send_campaign_message(message_id: str) -> None:
campaign = message.campaign
if not contact_may_receive(message.contact, message.channel):
if message.contact_id is None:
pass
elif not contact_may_receive(message.contact, message.channel):
message.status = Message.Status.SUPPRESSED
message.error = "Contact opted out or suppressed"
message.save(update_fields=["status", "error", "updated_at"])