def get_user_locale(self): user = self.current_user if not user: locale_cookie = self.get_cookie('locale') if locale_cookie in [l[0] for l in opts.get_allowed_languages()]: return tornado.locale.get(locale_cookie) return None if not user["locale"]: return None return tornado.locale.get(user["locale"])
def get_template_namespace(self): namespace = super(BaseHandler, self).get_template_namespace() namespace.update({ 'arguments': self.request.arguments, 'forms': forms, 'helpers': helpers, 'options': options, 'opts': opts, 'language_choices': opts.get_allowed_languages() }) return namespace
def post(self): form = forms.AccountForm(self.request.arguments, locale_code=self.locale.code, language_choices=opts.get_allowed_languages()) form.email.process_data(self.current_user['email']) if form.validate(): update = {'$set': { 'full_name': form.data['full_name'], 'locale': form.data['language']}} if form.data['password']: update['$set'].update({'password': bcrypt.hashpw(form.data['password'], bcrypt.gensalt())}) self.db.users.update({'email': self.current_user['email']}, update) self.redirect(self.reverse_url('my-account')) else: self.render('account.html', message=form.errors, form=form)
def get(self): form = forms.AccountForm(locale_code=self.locale.code, language_choices=opts.get_allowed_languages(), language=self.get_user_locale().code, **self.current_user) self.render('account.html', form=form)