def fb_register_user(request): from film20.account.views import get_next, new_user_registered_redirect from film20.account.forms import SSORegistrationForm reg_data = request.session.get('facebook_reg_data') if not reg_data: return HttpResponse("No reg data", status=400) user_details = reg_data['user_details'] access_token = reg_data['access_token'] fb_user = FBUser.create_or_update(user_details) user_details['avatar_url'] = fb_user.picture_url('large') uid = user_details['uid'] next = get_next(request) if request.POST: form = SSORegistrationForm(request.POST, request=request) if form.is_valid(): user = form.save() assoc = FBAssociation(user=user, fb_uid=uid, is_new=True, is_from_facebook=True, access_token=access_token) assoc.save() try: Avatar.create_from_url(user, user_details['avatar_url']) except Exception, e: logger.debug(e) user = authenticate(fb_uid=uid) login(request, user) return new_user_registered_redirect(request, next)
def fb_register_user(request, details): from film20.account.views import get_next, new_user_registered_redirect from film20.account.forms import SSORegistrationForm user_details = pickle.loads(base64.decodestring(details)) uid = user_details['uid'] next = get_next(request) if request.POST: form = SSORegistrationForm(request.POST, request=request) if form.is_valid(): user = form.save() assoc = FBAssociation(user=user, fb_uid=uid, is_new=True, is_from_facebook=True) assoc.save() try: Avatar.create_from_url(user, user_details['avatar_url']) except Exception, e: logger.debug(e) user = authenticate(user_id=user.id, fb_uid=uid) login(request, user) return new_user_registered_redirect(request, next)