| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
UserNotification constructor so that the admin gets the unsub request
notice in the proper language.
__refuse(): Be sure to create the Subject: header and other i18n text
in the language of the recipient of the rejection message.
|
| |
|
|
|
|
|
|
| |
cookie Subject: header the same way we do for ChangeMemberAddress().
That is, we can't set this header in the UserNotification constructor,
but have to add it in afterwards, so the header doesn't get encoded (a
reply to the encoded confirm header will bollux up
MailCommandHandler).
|
| |
|
|
| |
been obsolete for a long time now.
|
| |
|
|
|
|
|
|
|
|
|
| |
already sets the Content-Type: and MIME-Version: headers, don't do it
explicitly (it'll add multiple headers). Instead just call set_type()
to set the type to multipart/mixed. (Must do that before attempting
to attach.)
sendNextNotification(): Because we do not want the Subject: to be
encoded, don't pass the subject into the UserNotification
constructor. See MailList.ChangeMemberAddress() for details.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UserNotification constructor so that the verification message gets
encoded correctly. There's one gotcha that affects all confirmation
messages (and I will audit this next). From the comment:
# BAW: We don't pass the Subject: into the UserNotification
# constructor because it will encode it in the charset of the language
# being used. For non-us-ascii charsets, this means it will probably
# quopri quote it, and thus replies will also be quopri encoded. But
# MailCommandHandler doesn't yet grok such headers, and I'm avoiding
# fixing that until a future version which will completely rewrite the
# mail command handling. So, just set the Subject: in a separate
# step, although we have to delete the one UserNotification adds.
Sigh.
|
| |
|
|
|
|
| |
to the user in his/her own language, but as this may be different than
the list's preferred language, we have to wrap the message creation in
a try/finally which sets and restores the list's language.
|
| |
|
|
|
|
|
|
| |
alias field against. Also, send all alias file change requests to
mailman-owner (actually the site email's -owner address) so that it
has a better chance of getting to a human. Finally, in the
UserNotification constructors, use the DEFAULT_SERVER_LANGUAGE (hmm, I
wonder if this should use the language of the site list?).
|
| |
|
|
| |
constructor so that the message gets the proper charset settings.
|
| |
|
|
|
|
|
|
| |
header into the same language that the password reminder body is
getting translated to, we need to temporarily set the i18n language
around the calculation of the Subject: header. We also need to pass
the user's suspected language <wink> into the UserNotification()
constructor.
|
| | |
|
| |
|
|
|
|
|
| |
Content-Type: header, and since we should be setting the charset
anyway, on the message that goes to the admin, set the lang argument
to the UserNotification, and then just set the type (via set_type())
to multipart/mixed.
|
| |
|
|
|
|
|
|
|
| |
there was a lang argument given, call self.set_charset() instead of
doing nothing. Note that when a text argument is given, set_charset()
is called implicitly by set_payload().
Otherwise, given lang but no text results in no MIME-Version: header
being set.
|
| |
|
|
|
|
|
|
|
|
|
| |
UserNotification constructor calls were passing in the language as a
positional argument, in the position where the text should have been.
But because both instances has no text, the proper fix is to use the
`lang' keyword argument.
This fixes one i18n related crash, and the last one I'm going to
commit tonight. I've audited all the other UserNotification call
sites and there are more fixes coming down the pike.
|
| |
|
|
| |
fix to the Makefile.in file.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
also add a sanity check for any regular expressions (i.e. make sure
that re.compile() doesn't fail on them).
|
| |
|
|
|
|
|
|
|
|
|
| |
Change all calls of add_error_message() to doc.addError().
main(): Fix the error reporting when no email address is given. Also,
rework the error reporting for when the login page's unsub or remind
buttons are used. Specifically, when rosters are public, we should
provide error messages when the given address is not a member, but
when rosters are private, lie about the confirmation message or
password reminder.
|
| |
|
|
| |
change the call sites accordingly.
|
| |
|
|
| |
the most commonly used tag.
|
| |
|
|
|
|
|
|
| |
list that's already locked, e.g. the site list that we know we're
processing for! Bug reported by Dan Mick.
BAW: The loop in these two methods should really be factored out, but
there's a bit of an impedance mismatch for the inner logic.
|
| |
|
|
|
|
|
| |
target for harvesters, and we have doubts as to how much this feature
is used.
Note: this does not change anything for existing lists.
|
| |
|
|
|
| |
was sent out or not. This lets the admin page for example, display a
nice status message.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mailman/Gui/GUIBase.py module.
get_item_gui_value(): The gui component API has changed; use
getValue() instead of GetValue().
change_options(): We can really simplify a lot of this method because
the actual changing of the properties, value verification, and special
overrides are now all handled in the gui components themselves. We
now need only call out to the gui.handleForm() method.
Eventually, the membership management page should use the same
mechanism.
|
| |
|
|
|
| |
package scope. Delete it, because it messes up the automatic
instantiation policy in MailList.InitTempVars().
|
| |
|
|
|
| |
_setValue(): New overridden method which handles the special "do
immediately" attribute.
|
| |
|
|
|
| |
HandleForm() -> handleForm(). Also, if a topic definition is rejected
for being incomplete, add an error message to the page.
|
| |
|
|
|
| |
_setValue(): New overridden method which handles the special case when
ALLOW_OPEN_SUBSCRIBE is set.
|
| |
|
|
| |
HandleForm() -> handleForm()
|
| |
|
|
|
|
|
|
|
| |
HandleForm(): Remove, obsolete API. Also removed handle_form() module
global.
_setValue(): New overridden method for handling the conversion from
$-strings to %-strings and doing substitution variable verification.
Most of the functionality is in the base class now.
|
| |
|
|
|
| |
_setValue(): New overridden method which handles setting the global
i18n context when the list's preferred_language changes.
|
| |
|
|
|
|
| |
_setValue(): New overridden method which handles the assertion that
the real_name attribute may differ from the internal name by case
only.
|
| |
|
|
|
|
|
| |
HandleForm(): Remove, obsolete API.
_setValue(): New overridden method which handles the special "do
immediately" attributes.
|
| |
|
|
|
|
|
|
|
| |
HandleForm(): Remove, obsolete API. Also remove __convert() as obsolete.
_setValue(): New overridden method converting the bounce values from
the web presentation units to the internal units.
GetValue() -> getValue()
|
| |
|
|
|
|
|
|
| |
HandleForm(): Remove, obsolete API.
_setValue(): New overridden method for handling the conversion from
$-strings to %-strings and doing substitution variable verification.
Most of the functionality is in the base class now.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
plain text instead of msg.__str__(), otherwise we'll get the Unix
From_ header in the output, which will bollux up NNTP. Bug discovered
and fix verified by Ron Jarrell.
|
| |
|
|
| |
presence is enough to avoid archiving the message.
|
| |
|
|
| |
uncompress the email package tarball.
|
| | |
|
| |
|
|
| |
main(): Remove $prefix/Mailman/pythonlib.
|
| |
|
|
| |
$prefix/pythonlib directory.
|
| |
|
|
|
| |
Also, add Ben Gertzfield's patch to produce warnings if the Japanese
and Chinese codecs aren't found.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ValidateEmail(): Add Dan Mick's suggestion to throw out email
addresses with embedded spaces in the (although the calculation of
such is done a bit differently). This may not be a complete solution
because any address that's first sent through email.Utils.parseaddr()
will have embedded spaces collapsed anyway by rfc822.py's similarly
named function. That latter is a bug that needs to be fixed in
Python, but that's not a high priority right now. Also note that
"this is an email address"@dom.ain is (probably) legal and is handled
correctly by parseaddr() but will still be rejected by
ValidateEmail(). I think that's fine, as anybody who's got embedded
spaces in their address is probably going to have a miserable life
anyway.
to_dollar(), to_percent(), dollar_identifiers(),
percent_identifiers(): New functions to support experimental $-string
substitutions, and conversions between %-strings and $-strings.
|