1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
from pyramid.events import subscriber, BeforeRender
from social.apps.pyramid_app.utils import backends
from example.models import DBSession, User
def login_user(strategy, user):
strategy.request.session['user_id'] = user.id
def login_required(request):
return getattr(request, 'user', None) is not None
def get_user(request):
user_id = request.session.get('user_id')
if user_id:
user = DBSession.query(User)\
.filter(User.id == user_id)\
.first()
else:
user = None
return user
@subscriber(BeforeRender)
def add_social(event):
request = event['request']
event['social'] = backends(request, request.user)
|