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)
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))
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))
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)
def lookup_current_user(): g.user = None if 'openid' in session: openid = session['openid'] g.user = users.get_user_by_openid(openid)