summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* subscription_confirm(): Remove unnecessary argument.bwarsaw2001-08-021-1/+1
|
* Ahwoops, forgot a comma.bwarsaw2001-08-021-8/+8
|
* process_form(): Since this no longer gets called from the "editbwarsaw2001-08-021-41/+0
| | | | | | | | options" button on the listinfo page, it doesn't need to deal with the UserOptions form key, nor does it need to do the hackishly disgusting call_script() trick to get options.py invoked. call_script(): Removed.
* main(): Do something more useful when no user was given, either in thebwarsaw2001-08-021-21/+34
| | | | | | | | | | | url or in the form data. In that case, present the login page with an extra field prompting for the email address. Also, optionally get the email address out of the form data, if present. listinfo.html has changed so that it calls this script directly, with the `email' item holding the address. The login page uses the same item name, so either will work. loginpage(): Accept user=None meaning, prompt for the email address.
* list_listinfo(): Add a replacement for <mm-options-form-start>. Seebwarsaw2001-08-021-0/+1
| | | | listinfo.html for parallel change.
* show_results(): Ousmane Wilane noticed a missing i18n markup. Also,bwarsaw2001-08-021-2/+4
| | | | | include the `linktable' at the bottom of the page too. Not too pretty but it should avoid most scrollbar ping-ponging.
* GetMailmanFooter(): Add a link to the listinfo overview page for thebwarsaw2001-08-021-12/+16
| | | | | | | | | | domain. From there you can get to the admin overview. FormatEditingOption(): Remove the docstring. Also, rework the glomming up of the text local variable to be more efficient, and to emphasize that the same field/button should be used to quickly unsubscribe from the list. Also, indicate what happens if you leave the field blank.
* Order add_language() calls alphabetically by language code.bwarsaw2001-08-021-6/+8
|
* Change the second <MM-Subscribe-Form-Start> to <MM-Options-Form-Start>bwarsaw2001-08-028-16/+16
| | | | | so we can be directed to a different cgi when "Unsubscrib[ing] or edit[ing] options".
* process(): Be sure to del msg['from'] before adding a new From:bwarsaw2001-08-011-0/+1
| | | | | header. With mimelib, you must delete any existing headers first to suppress duplicates.
* process(): NotAMember -> NotAMemberErrorbwarsaw2001-08-011-1/+1
|
* Add -q/--quiet, suggested by Scott Brown, which suppresses all statusbwarsaw2001-08-011-12/+26
| | | | messages.
* Ousmane's update.bwarsaw2001-07-311-2/+5
|
* Add a sentence and %()s placeholder for the confirmation url, allowingbwarsaw2001-07-301-2/+5
| | | | the user to cancel their held posting.
* hold_for_approval(): When holding the message for approval, generate abwarsaw2001-07-301-1/+6
| | | | | | cookie referencing the held request id. Include this cookie in the postheld.txt message sent to the user. This allows them to cancel the posting if done before the moderator disposes it.
* main(): Add support for allowing a user who posted a held message tobwarsaw2001-07-301-0/+114
| | | | | | | | | explicitly cancel the message via the web confirmation mechanism. heldmsg_cancel(), heldmsg_confirm(), heldmsg_prompt(): New functions, slightly misnamed (but retained for consistency). I.e. "canceling" means "continue awaiting approval" and "confirming" means "cancel the posting".
* Add a new confirmation type, for held messages.bwarsaw2001-07-301-0/+2
|
* HoldMessage(): Return the id of the held message record in the database.bwarsaw2001-07-301-0/+5
| | | | | HandleRequest(): Add a note for later about syncing the held message db and the confirmation cookie.
* Updates to the i18n champions list, more Mailman users, and a link tobwarsaw2001-07-307-4/+36
| | | | Luke Tymowski's Mailman weblog.
* Big5 catalog, contributed by Michael Fang.bwarsaw2001-07-301-0/+2595
|
* Update the example in the docstring to reflect the new MemberAdaptor API.bwarsaw2001-07-291-6/+6
|
* Another step towards conversion to MemberAdaptor API. Usebwarsaw2001-07-291-27/+3
| | | | changeMemberAddress() instead of hacking on the dicts directly.
* __onefile(): Another step towards conversion to MemberAdaptorbwarsaw2001-07-291-1/+1
| | | | API. GetPreferredLanguage() -> getMemberLanguage()
* hold_for_approval(): Another step towards conversion to MemberAdaptorbwarsaw2001-07-291-1/+1
| | | | API. GetPreferredLanguage() -> getMemberLanguage()
* do_topic_filters(): Another step towards conversion to MemberAdaptorbwarsaw2001-07-291-2/+2
| | | | API. getMemberTopics()
* process_form(): Use UserDesc helper class.bwarsaw2001-07-291-9/+2
|
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-1/+1
| | | | GetPreferredLanguage() -> getMemberLanguage()
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-10/+4
| | | | | SetPreferredLanguage() -> setMemberLanguage(); setMemberTopics(); getMemberTopics().
* Massive rewrite to implement the Wouters/Oskoboiny Convention on webbwarsaw2001-07-291-52/+387
| | | | | | | | | | | | confirmations. :) Clicking on the emailed confirm url now brings up a screen which requires the user to /then/ click on an explicit Confirm button. They can also cancel their requested action. So far, implemented subscription, unsubscription, and change of address requests. Eventually this will include posting holds, etc. Subscription confirmation screen allows them to override some values they entered in the original request (but not, of course, the email address!).
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-14/+11
| | | | | | | | | | | | | | | | GetPreferredLanguage() -> getMemberLanguage(). Note this isn't finished yet since there are still some direct access to mlist.members. :( Use the UserDesc helper class. membership_options(): When calculating the length of the realname field, include the email addresses. Since this fits in the same table cell, the text box should be the max of the email addresses or realnames. Also, always include the realname TextBox, even if there is no realname for the user.
* __assertIsMember(): Helper method which raises NotAMemberError if thebwarsaw2001-07-291-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | member, er, isn't a member. :) getMemberOption(), getMemberName(), removeMember(), changeMemberAddress(), setMemberPassword(), setMemberLanguage(), setMemberOption(), setMemberName(): Use __assertIsMember(). getMemberLanguage(): If the address isn't a member of the list, return the list's default language instead of raising an exception. getMemberTopics(): New API method which returns the list of topics the member is interested in. addNewMember(): Raise MMAlreadyAMember if the new member address is, er, um, already a member. Also, don't use setMemberOption() to set the mm_cfg.Digests flag because otherwise you'll get an AlreadyReceivingDigests exception. Set the user_options dict directly instead. changeMemberAddress(): Grow a `nodelete' argument, defaulting to 0, which inhibits the normal deletion of the oldaddress after the change (used in bin/clone_members). Also, be sure to convert the fullname from the oldaddress to the newaddress. setMemberTopics(): New API method which sets the list of topics the member is interested in.
* getMemberLanguage(): If the address isn't a member of the list, returnbwarsaw2001-07-291-2/+21
| | | | | | | | | | | | | | the list's default language instead of raising an exception. getMemberTopics(): New API method which returns the list of topics the member is interested in. changeMemberAddress(): Grow a `nodelete' argument, defaulting to 0, which inhibits the normal deletion of the oldaddress after the change (used in bin/clone_members). setMemberTopics(): New API method which sets the list of topics the member is interested in.
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-27/+9
| | | | | | | | | | | | | | | | | | | | | | | GetPreferredLanguage() -> getMemberLanguage() ApprovedChangeMemberAddress(): When changing the addresses globally, watch out for a list that has the newaddress already subscribed. Skip it in that case (but there probably should be some way of reporting this situation back to the caller). ProcessConfirmation(): Optional argument userdesc_overrides, defaulting to None, which allows the caller to override parts of the subscription record. This is used in the confirm screen to, e.g. override the real name supplied in the original listinfo subscription request. Also, use the UserDesc helper class. When processing a CHANGE_OF_ADDRESS, return both the oldaddr and the new addr. SetPreferredLanguage(), GetPreferredLanguage(): Removed. Use the MemberAdaptor API methods instead.
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-5/+7
| | | | | | | | GetPreferredLanguage() -> getMemberLanguage() ProcessSubscribeCmd(): Update for new AddMember() signature (requires a UserDesc instance). This still needs to be fixed so that the real name is extracted from the From: line.
* __handlepost(): Convert to MemberAdaptor API by usingbwarsaw2001-07-291-11/+4
| | | | | | getMemberLanguage() instead of GetPreferredLanguage(). __handlesubscription(): Use UserDesc convenience class.
* Convenience class for ApprovedAddMember and friends.bwarsaw2001-07-290-0/+0
|
* intermediatebwarsaw2001-07-291-0/+44
|
* Another step towards conversion to MemberAdaptor API.bwarsaw2001-07-291-3/+3
| | | | GetPreferredLanguage() -> getMemberLanguage()
* Ousmane Wilane's latest updates to the French catalogsbwarsaw2001-07-282-74/+105
|
* LANGUAGES: Update to include all 8 (semi-)supported languages.bwarsaw2001-07-271-1/+1
|
* process_request(): Coerce listname to lowercase since this is treatedbwarsaw2001-07-271-1/+2
| | | | as the internal name.
* InitVars(): Should create self.archive_dir()+'.mbox' notbwarsaw2001-07-271-1/+1
| | | | ArchiveFileName().
* Simplified Chinese templates from Max Yubwarsaw2001-07-2728-0/+799
|
* Norwegian binary catalogbwarsaw2001-07-271-0/+0
|
* Add Norwegian.bwarsaw2001-07-272-1/+2
|
* Daniel Buchmann's Norwegian catalogbwarsaw2001-07-271-0/+5155
|
* Daniel Buchmann's Norwegian templates.bwarsaw2001-07-2730-0/+1057
|
* Updates to the FAQ and TODO list, updates to language champions,bwarsaw2001-07-2710-31/+77
| | | | updates to acknowledgements, updates to Mailman users.
* Knock off a few to do items.bwarsaw2001-07-271-2/+0
|
* Updated to reflect the plan to upload the mailman.po files to SF.bwarsaw2001-07-271-10/+12
|