summaryrefslogtreecommitdiff
path: root/src/mailman/model/member.py
diff options
context:
space:
mode:
authorBarry Warsaw2016-07-16 15:44:07 -0400
committerBarry Warsaw2016-07-16 15:44:07 -0400
commitdbde6231ec897379ed38ed4cd015b8ab20ed5fa1 (patch)
tree1226d06a238314262a1d04d0bbf9c4dc0b72c309 /src/mailman/model/member.py
parent3387791beb7112dbe07664041f117fdcc20df53d (diff)
downloadmailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.tar.gz
mailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.tar.zst
mailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.zip
Diffstat (limited to 'src/mailman/model/member.py')
-rw-r--r--src/mailman/model/member.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/mailman/model/member.py b/src/mailman/model/member.py
index 26c36b305..3aaa5e392 100644
--- a/src/mailman/model/member.py
+++ b/src/mailman/model/member.py
@@ -131,6 +131,21 @@ class Member(Model):
def subscriber(self):
return (self._user if self._address is None else self._address)
+ @property
+ def display_name(self):
+ # Try to find a non-empty display name. We first look at the directly
+ # subscribed record, which will either be the address or the user.
+ # That's handled automatically by going through member.subscriber. If
+ # that doesn't give us something useful, try whatever user is linked
+ # to the subscriber.
+ if self.subscriber.display_name:
+ return self.subscriber.display_name
+ # If an unlinked address is subscribed tehre will be no .user.
+ elif self.user is not None and self.user.display_name:
+ return self.user.display_name
+ else:
+ return ''
+
def _lookup(self, preference, default=None):
pref = getattr(self.preferences, preference)
if pref is not None:
@@ -180,12 +195,6 @@ class Member(Model):
"""See `IMember`."""
return self._lookup('delivery_status')
- @property
- def options_url(self):
- """See `IMember`."""
- # XXX Um, this is definitely wrong
- return 'http://example.com/' + self.address.email
-
@dbconnection
def unsubscribe(self, store):
"""See `IMember`."""