From a9ca4c7595dd347b1eb2183f449011c65e17eef8 Mon Sep 17 00:00:00 2001 From: bwarsaw Date: Fri, 30 Nov 2001 17:45:16 +0000 Subject: FormatEditingOptions(): Let's actually /use/ the lang argument to add a hidden field so that the language choice can be propagated to the options page. RosterOption(): Same, for the roster page. GetLangSelectBox(): Factor out the creation of the language selection widget, since other code will need the same thing. GetStandardReplacements(): Use GetLangSelectBox(). --- Mailman/HTMLFormatter.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'Mailman/HTMLFormatter.py') diff --git a/Mailman/HTMLFormatter.py b/Mailman/HTMLFormatter.py index 4b793ba56..897d44ee0 100644 --- a/Mailman/HTMLFormatter.py +++ b/Mailman/HTMLFormatter.py @@ -225,6 +225,7 @@ class HTMLFormatter: + ' ' + SubmitButton('UserOptions', _('Unsubscribe or edit options')).Format() + + Hidden('language', lang).Format() + '') if self.private_roster == 0: text += _('''

... or select your entry from @@ -249,6 +250,7 @@ class HTMLFormatter: def RosterOption(self, lang): container = Container() + container.AddItem(Hidden('language', lang)) if not self.private_roster: container.AddItem(_("Click here for the list of ") + self.real_name @@ -326,20 +328,8 @@ class HTMLFormatter: # This needs to wait until after the list is inited, so let's build it # when it's needed only. def GetStandardReplacements(self, lang=None): - if lang is None: - lang = self.preferred_language dmember_len = len(self.getDigestMemberKeys()) member_len = len(self.getRegularMemberKeys()) - values = self.GetAvailableLanguages() - legend = map(_, map(Utils.GetLanguageDescr, values)) - try: - selected = values.index(lang) - except ValueError: - try: - selected = values.index(self.preferred_language) - except ValueError: - selected = mm_cfg.DEFAULT_SERVER_LANGUAGE - return { '' : self.GetMailmanFooter(), '' : self.real_name, @@ -361,8 +351,7 @@ class HTMLFormatter: '' : self.GetAdminEmail(), '' : self.FormatReminder(self.preferred_language), '' : self.host_name, - '' : SelectOptions('language', values, legend, - selected).Format(), + '' : self.GetLangSelectBox().Format(), } def GetAllReplacements(self, lang=None): @@ -376,3 +365,19 @@ class HTMLFormatter: d.update({"": self.FormatUsers(0, lang), "": self.FormatUsers(1, lang)}) return d + + def GetLangSelectBox(self, lang=None, varname='language'): + if lang is None: + lang = self.preferred_language + # Figure out the available languages + values = self.GetAvailableLanguages() + legend = map(_, map(Utils.GetLanguageDescr, values)) + try: + selected = values.index(lang) + except ValueError: + try: + selected = values.index(self.preferred_language) + except ValueError: + selected = mm_cfg.DEFAULT_SERVER_LANGUAGE + # Return the widget + return SelectOptions(varname, values, legend, selected) -- cgit v1.2.3-70-g09d2