def post(self): _ = self._ f_pwd = password_form() f_pref = preferences_form() action = self.get_argument('action', 'pref') f = f_pwd if action == 'chpass' else f_pref data = self.get_arguments() del(data['action']) try: if f.validates(tornado.web._O(data)): user = self.current_user if action == 'chpass': user['password_hashed'] = hashlib.sha1(data.get('password')).hexdigest() message = _("Your password has been changed.") else: user['preferences'] = data message = _("Your preference has been saved.") user.save(data) self.set_flash(message) self.redirect("/preferences") return raise InvalidFormDataError(_("Form still have errors.")) except Exception, e: f.note = f.note if f.note else e
def get(self): f_pwd = password_form() f_pref=preferences_form() prefs = self.current_user['preferences'] f_pref.fill(tornado.web._O(prefs)) self.render('profile/preference', user=self.current_user, f_pwd=f_pwd, f_pref=f_pref)