コード例 #1
0
ファイル: views.py プロジェクト: eladmallel/globalfacetime
def api_create_profile(request,event_slug):
    if request.POST.get('api_key') != SECRET_API_KEY:
        return HttpResponse(json.dumps({'success':False,'reason':'bad_api_key'}), content_type="application/json")

    profilesDao = ProfilesDao()

    client_ip = request.POST.get('ip', get_client_ip(request))

    geoip_info_response = requests.get('http://freegeoip.net/json/%s'%client_ip)

    if geoip_info_response.status_code == 200:
        geoip_info = geoip_info_response.json()
    else:
        # TODO: Log a bad response code somewhere
        geoip_info = None

    profile_id = profilesDao.create_new_profile(
        name=request.POST['name'],
        email=request.POST['email'],
        country=request.POST['country'],
        city=request.POST['city'],
        interests=request.POST['interests'],
        event_slug=event_slug,
        ip=client_ip,
        geoip_info=geoip_info)

    return HttpResponse(json.dumps({'success':True,'user_id':profile_id}), content_type="application/json")
コード例 #2
0
ファイル: views.py プロジェクト: eladmallel/globalfacetime
def create_profile(request):
    profile_id = None
    if request.POST.get('name'):
        # you did POST - need to create your profile and load page
        profilesDao = ProfilesDao()

        client_ip = get_client_ip(request)

        # Get geoip info
        geoip_info_response = None
        try:
            geoip_info_response = requests.get('http://freegeoip.net/json/%s'%client_ip, timeout=1.0)
        except:
            pass

        if geoip_info_response and geoip_info_response.status_code == 200:
            geoip_info = geoip_info_response.json()
        else:
            # TODO: Log a bad response code somewhere
            geoip_info = None

        profile_id = profilesDao.create_new_profile(
            name=request.POST['name'],
            email=request.POST['email'],
            country=request.POST['country'],
            city=request.POST['city'],
            interests=request.POST['interests'],
            event_slug=request.event.slug,
            ip=client_ip,
            geoip_info=geoip_info)

        analytics.identify(request.POST['email'], {
        		'name': request.POST['name'],
        		'city': request.POST['city'],
        		'interests': request.POST['interests'],
        		'eventSlug': request.event.slug,
        		'ip': get_client_ip(request)
        	})

        analytics.track(request.POST['email'],
            'Joined event', {
            'eventSlug' : request.event.slug,
            'country' : request.POST['country'],
            'ip' : get_client_ip(request)
            })

        request.session['profile_id'] = profile_id;

        return shortcuts.redirect('/chat')

    else:
        return shortcuts.redirect('/')