Merged in [10219] from rjsparks@nostrum.com:
Recognize and remove duplicate addresses while gathering. Fixes bug #1815.
- Legacy-Id: 10232
Note: SVN reference [10219] has been migrated to Git commit 13d81dc509
This commit is contained in:
parent
499a2180a3
commit
6388f6de23
|
@ -3,8 +3,22 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.template import Template, Context
|
from django.template import Template, Context
|
||||||
|
|
||||||
|
from email.utils import parseaddr
|
||||||
|
|
||||||
from ietf.group.models import Role
|
from ietf.group.models import Role
|
||||||
|
|
||||||
|
def clean_duplicates(addrlist):
|
||||||
|
retval = set()
|
||||||
|
for a in addrlist:
|
||||||
|
(name,addr) = parseaddr(a)
|
||||||
|
if (name,addr)==('',''):
|
||||||
|
retval.add(a)
|
||||||
|
elif name:
|
||||||
|
retval.add('"%s" <%s>'%(name,addr))
|
||||||
|
else:
|
||||||
|
retval.add(addr)
|
||||||
|
return list(retval)
|
||||||
|
|
||||||
class MailTrigger(models.Model):
|
class MailTrigger(models.Model):
|
||||||
slug = models.CharField(max_length=32, primary_key=True)
|
slug = models.CharField(max_length=32, primary_key=True)
|
||||||
desc = models.TextField(blank=True)
|
desc = models.TextField(blank=True)
|
||||||
|
@ -37,8 +51,7 @@ class Recipient(models.Model):
|
||||||
if rendering:
|
if rendering:
|
||||||
retval.extend([x.strip() for x in rendering.split(',')])
|
retval.extend([x.strip() for x in rendering.split(',')])
|
||||||
|
|
||||||
retval = list(set(retval))
|
return clean_duplicates(retval)
|
||||||
return retval
|
|
||||||
|
|
||||||
def gather_doc_group_chairs(self, **kwargs):
|
def gather_doc_group_chairs(self, **kwargs):
|
||||||
addrs = []
|
addrs = []
|
||||||
|
|
Loading…
Reference in a new issue