1. 23 Dec, 2015 1 commit
  2. 23 Nov, 2015 1 commit
  3. 14 Apr, 2015 1 commit
    • Barry Warsaw's avatar
      Added IMember.subscriber to definitively return how a member is subscribed to · 85afb7ba
      Barry Warsaw authored
      the mailing list (via preferred address/user or explicit address).
      
      IMember.get_member() is defined to return the explicit address when members
      are subscribed in both ways.
      
      IMember.get_memberships() returns a sequence of length 0, 1, or 2 containing
      all the member records associated with the email address.
      
      Fixed the AbstractMemberRoster methods query to properly return subscriptions
      via the user's preferred address and via an explicit address.
      85afb7ba
  4. 10 Apr, 2015 1 commit
    • Barry Warsaw's avatar
      Subscription workflow checkpointing. · 8412b682
      Barry Warsaw authored
      * TO DO:
       - hook up sending of confirmation
       - processing confirmations and continuing workflow
       - get tokens for saving workflows
       - integrate with RequestRecord
       - integrate with hold_subscription
       - after getting moderator approval, continue workflow
      8412b682
  5. 20 Mar, 2015 1 commit
  6. 05 Jan, 2015 1 commit
  7. 23 Dec, 2014 1 commit
  8. 22 Sep, 2014 1 commit
  9. 13 Sep, 2014 1 commit
  10. 12 Sep, 2014 1 commit
  11. 06 Sep, 2014 1 commit
  12. 01 Jan, 2014 1 commit
  13. 01 Jan, 2013 1 commit
  14. 05 Sep, 2012 1 commit
    • Barry Warsaw's avatar
      * The link between members and the mailing lists they are subscribed to, is · 3c77c83e
      Barry Warsaw authored
        now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting
        address).  This is because while the posting address can change if the
        mailing list is moved to a new server, the list id is fixed.
        (LP: #1024509)
        + IListManager.get_by_list_id() added.
        + IListManager.list_ids added.
        + IMailingList.list_id added.
        + Several internal APIs that accepted fqdn list names now require list ids,
          e.g. ISubscriptionService.join() and .find_members().
        + IMember.list_id attribute added; .mailing_list is now an alias that
          retrieves and returns the IMailingList.
        - list_id added (LP: #1024509)
      3c77c83e
  15. 26 Apr, 2012 1 commit
    • Barry Warsaw's avatar
      General code cleanup. · 658fad42
      Barry Warsaw authored
       - Add explicit dependency on zope.event in setup.py.
       - Use Python 3 compatible syntax for specifying that a class implements an
         interface, i.e. the @implementer class decorator.
       - print_function futures.
       - Whitespace normalization.
      658fad42
  16. 22 Apr, 2012 1 commit
  17. 16 Mar, 2012 1 commit
  18. 01 Jan, 2012 1 commit
  19. 17 Apr, 2011 1 commit
  20. 01 Jan, 2011 2 commits
  21. 30 Dec, 2010 1 commit
    • Barry Warsaw's avatar
      Fairly significant change to the way member and nonmember moderation occurs. · 534e90fe
      Barry Warsaw authored
      Now, nonmembers are represented by a separate roster of IMembers, the latter
      which has grown a `moderation_action` enum.  When that action is `defer`, then
      the normal processing rules apply.  Anything else and the `moderation` chain
      is jumped to for a shortcut to moderation (which may include immediate
      acceptance).
      
      TODO: handle unregistered nonmembers.
      
      Details:
      
       * The member-moderation rule is renamed to just moderation, and handles both
         members and nonmembers (though the latter must currently be registered).
       * The moderation rule is moved up in the builtin chain.  It is now checked
         after `approved`, `emergency`, and `loop`, but before the normal moderation
         checks.  This means that nonmember postings will be (by default) held much
         earlier.
       * IMember.is_moderated is removed.
       * IMember.moderation_action is added.
       * IMailingList.default_member_moderation is removed.
       * IMailingList.default_member_action and
         IMailingList.default_nonmember_action are added.
       * MemberRole.nonmember is added.
      534e90fe
  22. 08 Oct, 2010 1 commit
  23. 01 Jan, 2010 1 commit
  24. 28 Dec, 2009 1 commit
  25. 10 Oct, 2009 1 commit
  26. 23 Feb, 2009 1 commit
    • Barry Warsaw's avatar
      Get rid of one_last_digest. Move this into a separate OneLastDigest table. · 2d2d5393
      Barry Warsaw authored
      Make it explicit to get the last digest (I could imagine an user selecting not
      to).  Actually add tests for this.
      
      Start to get rid of 'from storm.locals import *' in favor of more specific
      imports.  Start to use Store.of() instead of config.db.store where we can.
      
      Rework (delivery)MemberRosters to use the Member attributes.  This ensures
      that the layered lookup happens at the expense of query optimization.
      
      Sundry and various cleanups.
      2d2d5393
  27. 25 Jan, 2009 1 commit
  28. 17 Jan, 2009 1 commit
    • Barry Warsaw's avatar
      Several important cleanups. · ae3d0cc3
      Barry Warsaw authored
      * Turn on absolute_import and unicode_literals everywhere, and deal with the
        aftermath.
      * Use 'except X as Y' everywhere.
      * Make the module prologues much more consistent.
      * Use '{}'.format() consistently, except for logger interface.
      * Because of the problems with calling ** args with unicode keywords, hide
        calls to Template.substitute() behind an API.
      ae3d0cc3
  29. 05 Jan, 2009 1 commit
  30. 04 Jan, 2009 1 commit
  31. 01 Jan, 2009 1 commit
  32. 20 Dec, 2008 1 commit
    • Barry Warsaw's avatar
      Lots of changes to make bin/withlist work under a buildout environment. · dfccf2b7
      Barry Warsaw authored
      mailman.configuration -> mailman.config.config
      mailman.initialize -> mailma.core.initialize
      mailman.loginit -> mailman.core.logging (yay future absolute imports!)
      
      Convert all configurations to lazr.config, though some legacy still remains,
      and I haven't been able to remove Defaults.py yet.  Added as_boolean() and
      as_log_level() helpers for explicit type conversion.  Added a schema.cfg.
      dfccf2b7
  33. 25 Sep, 2008 1 commit
  34. 26 Mar, 2008 1 commit
  35. 24 Mar, 2008 1 commit
  36. 06 Mar, 2008 1 commit
    • Barry Warsaw's avatar
      Fix a typo in a roster name. · 5ca899a8
      Barry Warsaw authored
      Remove an outdated comment.
      
      Add an SMTPServer wrapper class to the test helpers module.  This will be used
      in tests of the outgoing queue, which actually needs to talk to an SMTP
      server.  Adapt the smtpd-based server to being run under thread control, and
      remove some now unnecessary code.
      5ca899a8
  37. 27 Feb, 2008 1 commit
  38. 08 Feb, 2008 1 commit
  39. 08 Dec, 2007 1 commit