~barry/mailman/events-and-web

« back to all changes in this revision

Viewing changes to src/mailman/interfaces/registrar.py

  • Committer: Barry Warsaw
  • Date: 2012-11-25 20:48:08 UTC
  • Revision ID: barry@list.org-20121125204808-g0pvuil2xq559k4p
Interim commit for refactoring out web-centric logic.

* Use SubscriptionEvent to handle the sending of the welcome message.
* Use ConfirmationNeededEvent to send the confirmation message.
* For now, hard code the adminurl and comment out the listinfo_uri.
* Pend the list-id instead of the fqdn-listname
* Use the new configuration support for Postfix settings.
* Get rid of the IDomain's url_host, base_url, and scheme attributes, as well
  as the confirm_url() method. 
* Get rid of the IMailingList's script_url() method.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
__metaclass__ = type
28
28
__all__ = [
 
29
    'ConfirmationNeededEvent',
29
30
    'IRegistrar',
30
31
    ]
31
32
 
34
35
 
35
36
 
36
37
 
 
38
class ConfirmationNeededEvent:
 
39
    """Triggered when an address needs confirmation.
 
40
 
 
41
    Addresses must be verified before they can receive messages or post to
 
42
    mailing list.  When an address is registered with Mailman, via the
 
43
    `IRegistrar` interface, an `IPendable` is created which represents the
 
44
    pending registration.  This pending registration is stored in the
 
45
    database, keyed by a token.  Then this event is triggered.
 
46
 
 
47
    There may be several ways to confirm an email address.  On some sites,
 
48
    registration may immediately produce a verification, e.g. because it is on
 
49
    a known intranet.  Or verification may occur via external database lookup
 
50
    (e.g. LDAP).  On most public mailing lists, a mail-back confirmation is
 
51
    sent to the address, and only if they reply to the mail-back, or click on
 
52
    an embedded link, is the registered address confirmed.
 
53
 
 
54
    By default, the Mailman core supports only mail-back confirmation.  When
 
55
    used with Postorius, this mail-back confirmation may include a link for
 
56
    the user to click on.  This link or the mechanism for confirmation may
 
57
    also be domain or mailing list specific.
 
58
    """
 
59
 
 
60
    def __init__(self, mlist, pendable, token):
 
61
        self.mlist = mlist
 
62
        self.pendable = pendable
 
63
        self.token = token
 
64
 
 
65
 
 
66
 
37
67
class IRegistrar(Interface):
38
68
    """Interface for registering and verifying email addresses and users.
39
69