def post(self): user = g.current_user username = request.form.get('name', None) password = request.form.get('password', None) domain = request.form.get('domain', None) if username != user.name: status = check_username(username) if status: return render_template('account.setting.html', error=status[1]) user.change_username(username) if domain and not user.domain: for status in [check_domain(domain), check_domain_exists(domain)]: if status: return render_template('account.setting.html', error=status[1]) user.set_domain(domain) if password: status = check_password(password) if status: return render_template('account.setting.html', error=status[1]) user.change_password(password) #clear cache clear_user_cache(user) account_login(user) g.current_user = get_current_user() return render_template('account.setting.html', error=code.ACCOUNT_SETTING_SUCCESS)
def post(self): user = g.current_user password = request.form.get('password', None) display = request.form.get('display', None) city = request.form.get('city', '') title = request.form.get('title', '') attrs = {} if display != user.display: status = check_display(display) if not status: return self.render_template( error=code.ACCOUNT_USERNAME_INVAILD) attrs['display'] = display if password: status = check_password(password) if not status: return self.render_template( error=code.ACCOUNT_PASSWORD_INVAILD) attrs['password'] = password attrs['city'] = city attrs['title'] = title error = update_account(user, **attrs) if error: return self.render_template(error=error) #relogin account_login(user) g.current_user = get_current_user() return self.render_template(error=code.ACCOUNT_SETTING_SUCCESS)
def before_request(): g.session = request.environ['xiaomen.session'] g.current_user = get_current_user() #TODO remove if g.current_user: g.topic_notify = lambda: topic_notify(g.current_user.id)
def before_request(): g.session = request.environ.get(config.SESSION_ENVIRON_KEY) g.current_user = get_current_user()