Skip to content

Commit 907d11f

Browse files
authored
Add handling for recipients who did not receive mailings in newsletters subscriptions
Add icons and titles for email subscription statuses.
1 parent 675ca4f commit 907d11f

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

crm/site/crmmodeladmin.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@
7777
subscribed_title = _("Signed up for email newsletters")
7878
unsubscribed_icon = '<i title="{}" class="material-icons" style="font-size: small;color: var(--body-quiet-color)">markunread_mailbox</i>'
7979
unsubscribed_title = _("Unsubscribed from email newsletters")
80-
80+
did_not_receive_icon = '<i title="{}" class="material-icons" style="font-size: small;color: var(--orange-fg)">markunread_mailbox</i>'
81+
did_not_receive_title = _("The recipient has not received any mailings.")
8182

8283
class CrmModelAdmin(BaseModelAdmin):
8384

@@ -386,6 +387,17 @@ def messengers(self, obj):
386387
))
387388
def newsletters_subscriptions(obj):
388389
if obj.massmail:
390+
if not obj.disqualified:
391+
content_type = ContentType.objects.get_for_model(obj.__class__)
392+
id_str = str(obj.id)
393+
is_mcs = MailingOut.objects.filter(
394+
content_type=content_type,
395+
successful_ids__regex=fr"(^|,){id_str}(,|$)"
396+
)
397+
if not is_mcs:
398+
return mark_safe(
399+
did_not_receive_icon.format(did_not_receive_title)
400+
)
389401
return mark_safe(
390402
subscribed_icon.format(subscribed_title)
391403
)

0 commit comments

Comments
 (0)