[ mailman-Patches-1611855 ] Add invite option to add_members script

SourceForge.net noreply at sourceforge.net
Fri Aug 3 21:15:27 CEST 2007


Patches item #1611855, was opened at 2006-12-08 13:31
Message generated for change (Comment added) made by mylogon
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1611855&group_id=103

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: command line scripts
Group: Mailman 2.1
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Abram Thielke (athielke)
Assigned to: Mark Sapiro (msapiro)
Summary: Add invite option to add_members script

Initial Comment:
This will add two options to the add_members script:
--invite-msg-file=file
-m file
  This will prepend the message in the file to the invite email that gets generated.

--invite=<y|n>
-i <y|n>
  Set to yes if you only want to invite the users to a list, instead of subscribing them.


----------------------------------------------------------------------

Comment By: mylogon (mylogon)
Date: 2007-08-03 12:15

Message:
Logged In: YES 
user_id=1042734
Originator: NO

Now the pending.pck file is corrupt.  Someone else filed a bug report:

https://sourceforge.net/tracker/?func=detail&atid=100103&aid=911648&group_id=103

AttributeError: 'module' object has no attribute 'UserDesc'   	 Private:
(?)
No
When adding members via InviteNewMember, and he/she
receives the emails asking for confirmation, this is the
message shown when clicking:

Also happens when trying to post a message to the list.

It seems the problem is UserDesc class is defined to be empty, which it
should not be.

Sample Invite from Web - pending.pck:

(dp1
S'32cd3506286849a4a7f4fdef09cec7b1ed8188f3'
p2
(S'S'
(iMailman.UserDesc
UserDesc
p3
(dp4
S'language'
p5
S'en'
p6
sS'address'
p7
S'me at mydomain'
p8
sS'invitation'
p9
S'listname'
p10
sS'fullname'
p11
V
sS'password'
p12
S'ozwetuut'
p13
sS'digest'
p14
I0
sbtp15
sS'evictions'
p16
(dp17
g2
F1187031528.2229049
ssS'version'
p18
          


Sample from script:

(dp1
S'evictions'
p2
(dp3
S'8341fdb4bb70336aa678196525e761559f96ecc9'
p4
F1187031624.769033
ssg4
(S'S'
(i__main__
UserDesc
p5
(dp6
S'fullname'
p7
S''
sS'invitation'
p8
S'listname'
p9
sS'digest'
p10
I0
sS'address'
p11
S'me at mydomain'
p12
sbtp13
sS'version'
p14
I2
s.

It has been suggested that:

(i__main__
UserDesc

is the error.

It was suggested to change: (from a similar error)
http://mail.python.org/pipermail/mailman-users/2005-December/048056.html

Add

from Mailman.UserDesc import UserDesc

Remove

class UserDesc: pass


and that seems to solve the problem.


----------------------------------------------------------------------

Comment By: mylogon (mylogon)
Date: 2007-07-28 20:47

Message:
Logged In: YES 
user_id=1042734
Originator: NO

As a quick change to that section:


  try:
            if invite:
                if mlist.isMember(member):
                    raise Errors.MMAlreadyAMember
                    print >> tee, _('Already a member: %(member)s')
                else:
                    mlist.InviteNewMember(userdesc, invite_msg)
            else:
                mlist.ApprovedAddMember(userdesc, ack, 0)


This works - but still not for banned.

----------------------------------------------------------------------

Comment By: Mark Sapiro (msapiro)
Date: 2007-07-28 18:32

Message:
Logged In: YES 
user_id=1123998
Originator: NO

Actually, the patch looks quite good. There are some problems but they
aren't problems with the patch.

The problem with inviting someone who is already a member is because
MailList.InviteNewMember() does not test for membership before inviting.
The patch would catch Errors.MMAlreadyAMember just as is done for adding,
but the exception isn't thrown. The web Mailman/Cgi/admin.py gets around
this by doing the test itself before inviting, but I think the proper thing
is for InviteNewMember() to do it.

There is another problem in that InviteNewMember() can throw an
Errors.MembershipIsBanned exception which is not caught, but this problem
is in the base add_members, not the patch.

----------------------------------------------------------------------

Comment By: mylogon (mylogon)
Date: 2007-07-27 01:15

Message:
Logged In: YES 
user_id=1042734
Originator: NO

It invites everyone - including people who are members for me.  It totally
ignores the 

except Errors.MMAlreadyAMember:



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1611855&group_id=103


More information about the Mailman-coders mailing list