[MediaWiki-commits] [Gerrit] Construct user objects in context creation everytime - change (analytics...web)

2014-07-24 Thread Yuvipanda (Code Review)
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)

2014-07-24 Thread jenkins-bot (Code Review)
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