diff options
| author | Barry Warsaw | 2016-07-16 15:44:07 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2016-07-16 15:44:07 -0400 |
| commit | dbde6231ec897379ed38ed4cd015b8ab20ed5fa1 (patch) | |
| tree | 1226d06a238314262a1d04d0bbf9c4dc0b72c309 /src/mailman/model/member.py | |
| parent | 3387791beb7112dbe07664041f117fdcc20df53d (diff) | |
| download | mailman-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.py | 21 |
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`.""" |
