def fb_login(request): if 'id' not in request.POST or 'ot' not in request.POST: return HttpResponseBadRequest() user = User.objects.get(facebook_id=request.POST['id'], is_active=True) if user.fb_access_token != request.POST['ot']: user.fb_access_token = request.POST['ot'] user.save() cache.put_on_handle(user, user.username) #perform for all that login magic that happens under the covers login(request, user) response = {'user_id': user.id, 'fb_access_token': user.fb_access_token} return set_auth_cookies(json_response({'result': response}), user)
def fb_login(request): if 'id' not in request.POST or 'ot' not in request.POST: return HttpResponseBadRequest() user = User.objects.get(facebook_id = request.POST['id'], is_active=True) if user.fb_access_token != request.POST['ot']: user.fb_access_token = request.POST['ot'] user.save() cache.put_on_handle(user, user.username) #perform for all that login magic that happens under the covers login(request, user) response = {'user_id':user.id, 'fb_access_token':user.fb_access_token} return set_auth_cookies(json_response({'result' : response}), user)
def setup(request): sans_facebook = True if request.GET.has_key( 'sans_facebook') and request.GET['sans_facebook'] else False redirect_to = request.GET.get('redirect_to', "/") form = CreateAccountForm(initial={ 'redirect_to': redirect_to, }) if request.POST: sans_facebook = True if request.POST.has_key( 'sans_facebook') and request.POST['sans_facebook'] else False form = CreateAccountForm(request.POST) if form.is_valid(): u = User() u.bio = form.cleaned_data['bio'] u.birth_year = form.cleaned_data['birth_year'] u.email = u.long_email = form.cleaned_data['email'] u.fb_access_token = form.cleaned_data['fb_access_token'] u.gender = form.cleaned_data['gender'] u.first_name = form.cleaned_data['first_name'] u.last_name = form.cleaned_data['last_name'] u.facebook_id = form.cleaned_data['fbid'] u.bio = u.bio.encode('utf-8') if u.bio else "" u.first_name = u.first_name.encode('utf-8') if u.first_name else "" u.last_name = u.last_name.encode('utf-8') if u.last_name else "" if form.cleaned_data['location_data']: u.location = Location.get_or_create( form.cleaned_data['location_data']) u.next_email_time = datetime.datetime.now() + timedelta(days=1) u.username = create_handle('%s%s' % (u.first_name, u.last_name)) u.password = hash_password(form.cleaned_data['password']) u.save() Subscription.get_or_create(user=u, pub_id=NOTIFICATIONS_PUB) #Post to Facebook if form.cleaned_data['post_to_facebook']: fb_helpers.post_joined_to_wall(u) cache.put_on_handle(u, u.username) redirect_to = form.cleaned_data['redirect_to'] or '/' #perform for all that login magic that happens under the covers attempt_login(request, u.username, form.cleaned_data["password"]) return set_auth_cookies(HttpResponseRedirect(redirect_to), u) return render( request, 'user/setup.html', { 'title': 'Setup your account', 'create_form': form, 'sans_facebook': sans_facebook, })
def setup(request): sans_facebook = True if request.GET.has_key('sans_facebook') and request.GET['sans_facebook'] else False redirect_to = request.GET.get('redirect_to', "/") form = CreateAccountForm(initial={'redirect_to': redirect_to,}) if request.POST: sans_facebook = True if request.POST.has_key('sans_facebook') and request.POST['sans_facebook'] else False form = CreateAccountForm(request.POST) if form.is_valid(): u = User() u.bio = form.cleaned_data['bio'] u.birth_year = form.cleaned_data['birth_year'] u.email = u.long_email = form.cleaned_data['email'] u.fb_access_token = form.cleaned_data['fb_access_token'] u.gender = form.cleaned_data['gender'] u.first_name = form.cleaned_data['first_name'] u.last_name = form.cleaned_data['last_name'] u.facebook_id = form.cleaned_data['fbid'] u.bio = u.bio.encode('utf-8') if u.bio else "" u.first_name = u.first_name.encode('utf-8') if u.first_name else "" u.last_name = u.last_name.encode('utf-8') if u.last_name else "" if form.cleaned_data['location_data']: u.location = Location.get_or_create(form.cleaned_data['location_data']) u.next_email_time = datetime.datetime.now() + timedelta(days = 1) u.username = create_handle('%s%s' % (u.first_name, u.last_name)) u.password = hash_password(form.cleaned_data['password']) u.save() Subscription.get_or_create(user = u, pub_id = NOTIFICATIONS_PUB) #Post to Facebook if form.cleaned_data['post_to_facebook']: fb_helpers.post_joined_to_wall(u) cache.put_on_handle(u, u.username) redirect_to = form.cleaned_data['redirect_to'] or '/' #perform for all that login magic that happens under the covers attempt_login(request, u.username, form.cleaned_data["password"]) return set_auth_cookies(HttpResponseRedirect(redirect_to), u) return render(request, 'user/setup.html', { 'title' : 'Setup your account', 'create_form' : form, 'sans_facebook': sans_facebook, })
def get_location(self): if self._location is not None: return self._location self._location = self.location cache.put_on_handle(self, self.username) return self._location
def clean_url(request, handle): org_id = None issue_id = None user_id = None org = None issue = None user = None handle = re.sub(r'[^a-zA-Z0-9\-_]+', '', handle).lower() # try first for cache! org_id = django_cache.get(cache._cache_key(Org, handle)) if org_id: org = django_cache.get(cache._cache_key(Org, org_id)) if org: return return_org(request, org) issue_id = django_cache.get(cache._cache_key(Issue, handle)) if issue_id: issue = django_cache.get(cache._cache_key(issue, handle)) if issue: return return_issue(request, issue) user_id = django_cache.get(cache._cache_key(user, handle)) if user_id: user = django_cache.get(cache._cache_key(user, handle)) if user: return return_user(request, user) # try second for db! org = None issue = None user = None try: org = Org.objects.get(handle=handle) cache.put_on_handle(org, handle) return return_org(request, org) except Org.DoesNotExist: logging.error("Org Handle %s doesn't exist." % handle) except: logging.exception("Org Handler Exception") try: user = User.objects.get(username=handle, is_active=True) cache.put_on_handle(user, handle) return return_user(request, user) except User.DoesNotExist: logging.error("User Username %s doesn't exist." % handle) except: logging.exception("User Handler Exception") try: issue = Issue.objects.get(handle=handle) cache.put_on_handle(issue, handle) return return_issue(request, issue) except Issue.DoesNotExist: logging.error("Issue Handle %s doesn't exist." % handle) except: logging.exception("Issue Handler Exception") raise Http404
def clean_url(request, handle): org_id = None issue_id = None user_id = None org = None issue = None user = None handle = re.sub(r'[^a-zA-Z0-9\-_]+', '', handle).lower() # try first for cache! org_id = django_cache.get(cache._cache_key(Org, handle)) if org_id: org = django_cache.get(cache._cache_key(Org, org_id)) if org: return return_org(request, org) issue_id = django_cache.get(cache._cache_key(Issue, handle)) if issue_id: issue = django_cache.get(cache._cache_key(issue, handle)) if issue: return return_issue(request, issue) user_id = django_cache.get(cache._cache_key(user, handle)) if user_id: user = django_cache.get(cache._cache_key(user, handle)) if user: return return_user(request, user) # try second for db! org = None issue = None user = None try: org = Org.objects.get(handle = handle) cache.put_on_handle(org, handle) return return_org(request, org) except Org.DoesNotExist: logging.error("Org Handle %s doesn't exist." % handle) except: logging.exception("Org Handler Exception") try: user = User.objects.get(username = handle, is_active = True) cache.put_on_handle(user, handle) return return_user(request, user) except User.DoesNotExist: logging.error("User Username %s doesn't exist." % handle) except: logging.exception("User Handler Exception") try: issue = Issue.objects.get(handle = handle) cache.put_on_handle(issue, handle) return return_issue(request, issue) except Issue.DoesNotExist: logging.error("Issue Handle %s doesn't exist." % handle) except: logging.exception("Issue Handler Exception") raise Http404