[Mailman-Users] Is it possible to add the Description field onthelist create web interface?

Brian Ensor brian.ensor at deri.org
Thu Feb 24 10:39:22 CET 2005


Worked perfectly.

Many Thanks!

-Brian

> -----Original Message-----
> From: Mark Sapiro [mailto:msapiro at value.net] 
> Sent: 24 February 2005 05:50
> To: brian.ensor at deri.org; mailman-users at python.org
> Subject: RE: [Mailman-Users] Is it possible to add the 
> Description field onthelist create web interface?
> 
> Brian Ensor wrote:
> >
> >I do want to make the description field mandatory on list 
> creation, so
> >modifying the Mailman/Cgi/create.py is most likely the route 
> I would like to
> >pursue.
> >
> >In viewing the config and determining the changes to be 
> made, I would be
> >editing as follows:
> >
> >def process_request(doc, cgidata):
> >    # Lowercase the listname since this is treated as the 
> "internal" name.
> >    listname = cgidata.getvalue('listname', '').strip().lower()
> >    owner    = cgidata.getvalue('owner', '').strip()
> >    # Added following line to support description field
> >    description = cgidata.getvalue('description', '').strip()
> 
> 
> Looks OK
> 
> 
> ># Sanity Check
> >    # Added following line to support description field
> >    if not description:
> >        request_creation(doc, cgidata,
> >                         _('You forgot to specify the list 
> description'))
> >        return
> 
> 
> The issue here is _() is an i18n method to substitute text in the
> appropriate language for the English text. As long as you're only
> dealing in English, this won't be a problem, but this message won't be
> available in other languages.
> 
> 
> ># And send the notice to the list owner.
> >       # Added description to mlist 
> >       text = Utils.maketext(
> >            'newlist.txt',
> >            {'listname'    : listname,
> >             'password'    : password,
> >             'admin_url'   : mlist.GetScriptURL('admin', absolute=1),
> >             'listinfo_url': mlist.GetScriptURL('listinfo', 
> absolute=1),
> >             'requestaddr' : mlist.GetRequestEmail(),
> >             'siteowner'   : siteadmin,
> >             'description' : description,
> >             }, mlist=mlist)
> 
> 
> This only adds 'description' and it's value to the dictionary for
> interpolation into the template. You still need to edit the
> newlist.txt template (see
> http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.048.htp)
> to include appropriate text with '%(description)s' to receive the
> description.
> 
> 
> ># in Dummy section modify page text to indicate requirement 
> for description
> >    <p>You also need to enter the email address of the 
> initial list owner
> >and
> >    a brief description of the list. Once the list is 
> created, the list
> >owner
> >    will be given notification, along with the initial list 
> password.  The
> >    list owner will then be able to modify the password and 
> add or remove
> >    additional list owners.
> >
> ># Also in Dummy section
> >    safedescription = 
> Utils.websafe(cgidata.getvalue('description', ''))
> >    ftable.AddRow([Label(_('Brief description of list:')),
> >                   TextBox('description', safedescription)])
> >    ftable.AddCellInfo(ftable.GetCurrentRowIndex(), 0, bgcolor=GREY)
> >    ftable.AddCellInfo(ftable.GetCurrentRowIndex(), 1, bgcolor=GREY)
> >
> >
> >I am not sure if the information above is 100% correct, but 
> I believe it is.
> >The part that is not addressed above is the actual list 
> creation.  This is
> >called by mlist.Create, which I believe is from the 
> /Mailman/MailList.py
> >file.  Here is how I believe the call should be done in create.py to
> >accomplish what I want:
> >
> >                # Added description to this command line
> >                mlist.Create(listname, owner, pw, langs, emailhost,
> >description)
> 
> 
> Do not change the mlist.Create() call.
> 
> 
> >Now that I am passing another parameter, how can I ensure it 
> is handled
> >correctly?  Will there be some changes required in 
> MailList.py or another
> >file to make sure the field is handled correctly?  Is description the
> >correct name to use?
> 
> 
> You don't pass the parameter in the Create() call.
> 
> You 'update' it after the list is created. Just before the last
> 'finally:' in the outer of three 'try:'s around the Create() 
> you'll see
> 
>         # Initialize the host_name and web_page_url 
> attributes, based on
>         # virtual hosting settings and the request environment
> variables.
>         mlist.default_member_moderation = moderate
>         mlist.web_page_url = mm_cfg.DEFAULT_URL_PATTERN % hostname
>         mlist.host_name = emailhost
> 
> add after this and before mlist.Save()
> 
>         mlist.description = description
> 
> 
> --
> Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
> San Francisco Bay Area, California    better use your sense - B. Dylan
> 
> 




More information about the Mailman-Users mailing list