示例#1
0
def user_settings():
    if g.user is None or 'openid' not in session:
        return redirect(url_for('login'))
    if request.method == 'POST':
        names = request.form.getlist('script-name')
        scripts = request.form.getlist('script-content')
        data = {x[0]: {'content': x[1]} for x in zip(names, scripts)}
        u = users.get_user_by_openid(g.user.openid)
        defined = set([x for x in u.initscripts.list()])
        for remove in defined - set(names):
            u.initscripts.get(remove).delete()
        for add in set(names) - defined:
            u.initscripts.create(add, data[add])
        for update in set(names) & defined:
            u.initscripts.get(update).update(data[update])
        g.user = users.get(u.name)
        return redirect(url_for('user_settings'))

    u = [users.get(x) for x in users.list()]
    scripts = g.user.to_dict().get('initscripts', [])
    ss = [shared_storage.get(x) for x in shared_storage.list()]
    return render_template('settings.html',
                           settings=settings,
                           users=u,
                           user_scripts=scripts,
                           shared_storage=ss)
示例#2
0
文件: ui.py 项目: doanac/cya
def create_or_login(resp):
    session['openid'] = resp.identity_url
    user = users.get_user_by_openid(resp.identity_url)
    if user is not None:
        flash('Successfully signed in')
        g.user = user
        return redirect(oid.get_next_url())
    return redirect(url_for('create_user', next=oid.get_next_url(),
                            name=resp.nickname, email=resp.email))
示例#3
0
def create_or_login(resp):
    session['openid'] = resp.identity_url
    user = users.get_user_by_openid(resp.identity_url)
    if user is not None:
        flash('Successfully signed in')
        g.user = user
        return redirect(oid.get_next_url())
    return redirect(
        url_for('create_user',
                next=oid.get_next_url(),
                name=resp.nickname,
                email=resp.email))
示例#4
0
文件: ui.py 项目: doanac/cya
def user_settings():
    if g.user is None or 'openid' not in session:
        return redirect(url_for('login'))
    if request.method == 'POST':
        names = request.form.getlist('script-name')
        scripts = request.form.getlist('script-content')
        data = {x[0]: {'content': x[1]} for x in zip(names, scripts)}
        u = users.get_user_by_openid(g.user.openid)
        defined = set([x for x in u.initscripts.list()])
        for remove in defined - set(names):
            u.initscripts.get(remove).delete()
        for add in set(names) - defined:
            u.initscripts.create(add, data[add])
        for update in set(names) & defined:
            u.initscripts.get(update).update(data[update])
        g.user = users.get(u.name)
        return redirect(url_for('user_settings'))

    u = [users.get(x) for x in users.list()]
    scripts = g.user.to_dict().get('initscripts', [])
    ss = [shared_storage.get(x) for x in shared_storage.list()]
    return render_template(
        'settings.html', settings=settings, users=u, user_scripts=scripts,
        shared_storage=ss)
示例#5
0
def lookup_current_user():
    g.user = None
    if 'openid' in session:
        openid = session['openid']
        g.user = users.get_user_by_openid(openid)
示例#6
0
文件: ui.py 项目: doanac/cya
def lookup_current_user():
    g.user = None
    if 'openid' in session:
        openid = session['openid']
        g.user = users.get_user_by_openid(openid)