[MediaWiki-commits] [Gerrit] Construct user objects in context creation everytime - change (analytics...web)
Yuvipanda has uploaded a new change for review. https://gerrit.wikimedia.org/r/148986 Change subject: Construct user objects in context creation everytime .. Construct user objects in context creation everytime Kills the need for /login/done Change-Id: Ie0c1185d3cc5dce54b29a3f90470e50674823cb4 --- M quarry/web/app.py M quarry/web/templates/landing.html 2 files changed, 16 insertions(+), 18 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/analytics/quarry/web refs/changes/86/148986/1 diff --git a/quarry/web/app.py b/quarry/web/app.py index 06da36e..4276f9f 100644 --- a/quarry/web/app.py +++ b/quarry/web/app.py @@ -17,10 +17,21 @@ def get_user(): -if 'user_id' in session: -return User.get_by_id(session['user_id']) +if 'user_id' not in session: +user_name = mwoauth.get_current_user() +if user_name: +user_info = mwoauth.request({'action': 'query', 'meta': 'userinfo'}) +wiki_id = user_info['query']['userinfo']['id'] +user = User.get_by_id(wiki_id) +if user is None: +user = User(wiki_id, user_name) +user.save() +session['user_id'] = user.id +else: +user = None else: -return None +user = User.get_by_id(session['user_id']) +return user @app.before_request @@ -38,23 +49,10 @@ return render_template(landing.html, user=g.user) -@app.route(/login/done) -def login_done(): -user_name = mwoauth.get_current_user() -user_info = mwoauth.request({'action': 'query', 'meta': 'userinfo'}) -wiki_id = user_info['query']['userinfo']['id'] -user = User.get_by_id(wiki_id) -if user is None: -user = User(wiki_id, user_name) -user.save() -session['user_id'] = user.id -return redirect(/) - - @app.route(/query/new) def new_query(): if g.user is None: -return Authentication required, 401 +return redirect(/login?next=/query/new) query = Query() query.user = g.user query.save_new() diff --git a/quarry/web/templates/landing.html b/quarry/web/templates/landing.html index 12bd417..9f8ceb1 100644 --- a/quarry/web/templates/landing.html +++ b/quarry/web/templates/landing.html @@ -9,7 +9,7 @@ {% if user %} a class=btn btn-primary btn-lg role=button href=/query/newNew Query/a {% else %} -a class=btn btn-primary btn-lg role=button href=/login?next=/login/doneLogin via Wikitech/a +a class=btn btn-primary btn-lg role=button href=/login?next=/Login via Wikitech/a {% endif %} /p /div -- To view, visit https://gerrit.wikimedia.org/r/148986 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0c1185d3cc5dce54b29a3f90470e50674823cb4 Gerrit-PatchSet: 1 Gerrit-Project: analytics/quarry/web Gerrit-Branch: master Gerrit-Owner: Yuvipanda yuvipa...@gmail.com ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Construct user objects in context creation everytime - change (analytics...web)
jenkins-bot has submitted this change and it was merged. Change subject: Construct user objects in context creation everytime .. Construct user objects in context creation everytime Kills the need for /login/done Change-Id: Ie0c1185d3cc5dce54b29a3f90470e50674823cb4 --- M quarry/web/app.py M quarry/web/templates/landing.html 2 files changed, 16 insertions(+), 18 deletions(-) Approvals: Yuvipanda: Looks good to me, approved jenkins-bot: Verified diff --git a/quarry/web/app.py b/quarry/web/app.py index 06da36e..4276f9f 100644 --- a/quarry/web/app.py +++ b/quarry/web/app.py @@ -17,10 +17,21 @@ def get_user(): -if 'user_id' in session: -return User.get_by_id(session['user_id']) +if 'user_id' not in session: +user_name = mwoauth.get_current_user() +if user_name: +user_info = mwoauth.request({'action': 'query', 'meta': 'userinfo'}) +wiki_id = user_info['query']['userinfo']['id'] +user = User.get_by_id(wiki_id) +if user is None: +user = User(wiki_id, user_name) +user.save() +session['user_id'] = user.id +else: +user = None else: -return None +user = User.get_by_id(session['user_id']) +return user @app.before_request @@ -38,23 +49,10 @@ return render_template(landing.html, user=g.user) -@app.route(/login/done) -def login_done(): -user_name = mwoauth.get_current_user() -user_info = mwoauth.request({'action': 'query', 'meta': 'userinfo'}) -wiki_id = user_info['query']['userinfo']['id'] -user = User.get_by_id(wiki_id) -if user is None: -user = User(wiki_id, user_name) -user.save() -session['user_id'] = user.id -return redirect(/) - - @app.route(/query/new) def new_query(): if g.user is None: -return Authentication required, 401 +return redirect(/login?next=/query/new) query = Query() query.user = g.user query.save_new() diff --git a/quarry/web/templates/landing.html b/quarry/web/templates/landing.html index 12bd417..9f8ceb1 100644 --- a/quarry/web/templates/landing.html +++ b/quarry/web/templates/landing.html @@ -9,7 +9,7 @@ {% if user %} a class=btn btn-primary btn-lg role=button href=/query/newNew Query/a {% else %} -a class=btn btn-primary btn-lg role=button href=/login?next=/login/doneLogin via Wikitech/a +a class=btn btn-primary btn-lg role=button href=/login?next=/Login via Wikitech/a {% endif %} /p /div -- To view, visit https://gerrit.wikimedia.org/r/148986 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie0c1185d3cc5dce54b29a3f90470e50674823cb4 Gerrit-PatchSet: 2 Gerrit-Project: analytics/quarry/web Gerrit-Branch: master Gerrit-Owner: Yuvipanda yuvipa...@gmail.com Gerrit-Reviewer: Hashar has...@free.fr Gerrit-Reviewer: Legoktm legoktm.wikipe...@gmail.com Gerrit-Reviewer: Yuvipanda yuvipa...@gmail.com Gerrit-Reviewer: jenkins-bot ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits