[Moin-devel] CVS: MoinMoin user.py,1.56,1.57 userform.py,1.12,1.13

J?rgen Hermann jhermann at users.sourceforge.net
Thu Mar 14 12:26:48 EST 2002


Update of /cvsroot/moin/MoinMoin
In directory usw-pr-cvs1:/tmp/cvs-serv7840/MoinMoin

Modified Files:
	user.py userform.py 
Log Message:
"Preferred language" setting


Index: user.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/user.py,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -r1.56 -r1.57
*** user.py	13 Feb 2002 21:13:52 -0000	1.56
--- user.py	14 Mar 2002 20:12:44 -0000	1.57
***************
*** 67,70 ****
--- 67,71 ----
          self.last_saved = str(time.time())
          self.css_url    = config.css_url
+         self.language   = ""
          self.datetime_fmt = ""
          self.subscribed_pages = ""

Index: userform.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/userform.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** userform.py	13 Feb 2002 21:13:52 -0000	1.12
--- userform.py	14 Mar 2002 20:12:44 -0000	1.13
***************
*** 11,15 ****
  import os, string, time
  from MoinMoin import config, user, util, webapi
! from MoinMoin.i18n import _
  
  try:
--- 11,15 ----
  import os, string, time
  from MoinMoin import config, user, util, webapi
! from MoinMoin.i18n import _, languages
  
  try:
***************
*** 160,163 ****
--- 160,166 ----
              theuser.css_url = ''
  
+         # try to get the (optional) preferred language
+         theuser.language = form.getvalue('language', '')
+ 
          # checkbox options
          for key, label in user.User._checkbox_fields:
***************
*** 215,218 ****
--- 218,238 ----
  
  
+ def _lang_select(theuser):
+     cur_lang = theuser.valid and theuser.language or ''
+     langs = languages.items()
+     langs.append(('', ('<Default>', config.charset, '')))
+     langs.sort(lambda x,y: cmp(x[1][0], y[1][0]))
+ 
+     html = '<select name="language">\n'
+     for lang in langs:
+         # !!! If we add charset recoding, this restriction can be lifted
+         if lang[0] in ['', 'en'] or lang[1][1] == config.charset:
+             html = html + '<option value="%s"%s>%s\n' % (
+                 lang[0], lang[0] == cur_lang and ' selected' or '', lang[1][0])
+     html = html + '</select>'
+  
+     return html
+         
+ 
  def getUserForm(form):
      # Note that this form is NOT designed for security, just to have a cookie
***************
*** 238,241 ****
--- 258,264 ----
        <select name="datetime_fmt">%(dtfmt_select)s</select>
      </td></tr>
+     <tr><td><b>%(label_language)s</b> </td><td>
+       %(language_select)s
+     </td></tr>
      <tr><td><b>%(label_general_opts)s</b> </td><td>
        %(checkbox_fields)s
***************
*** 260,263 ****
--- 283,287 ----
          'label_server_time':    _('Server time is'),
          'label_date_format':    _('Date format'),
+         'label_language':       _('Preferred language'),
          'label_general_opts':   _('General options'),
      }
***************
*** 325,328 ****
--- 349,353 ----
          'tz_select': _tz_select(user.current),
          'dtfmt_select': dtfmt_select,
+         'language_select': _lang_select(user.current),
          'notify': notify,
      }





More information about the Moin-devel mailing list