Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
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)
Esempio n. 4
0
def before_request():
    g.session = request.environ.get(config.SESSION_ENVIRON_KEY)
    g.current_user = get_current_user()