Esempio n. 1
0
def login(request):
    raise DeprecationWarning("This code is deprecated")
    return render(request, 'old/accounts/login.html', {
        'client_id': settings.AMAZON_LOGIN_CLIENT_ID,
        'base_url': settings.SPUDMART_BASE_URL,
        'returnURL': get_return_url(request)
    })
Esempio n. 2
0
def login(request):
    raise DeprecationWarning("This code is deprecated")
    return render(
        request, 'old/accounts/login.html', {
            'client_id': settings.AMAZON_LOGIN_CLIENT_ID,
            'base_url': settings.SPUDMART_BASE_URL,
            'returnURL': get_return_url(request)
        })
Esempio n. 3
0
def amazon_login(request):
    error = get_request_param(request, 'error', None)
    return_url = get_return_url(request)

    if error is not None:
        if error == 'access_denied':
            return HttpResponseRedirect('/accounts/amazon_required/')
        error_message = request.GET.get('error_description') + \
                        '<br><a href="' + request.GET.get('error_uri') + \
                        '">Learn more</a>'
        return render(request, 'old/accounts/login.html', {
            'next': return_url,
            'error': error_message
        })

    access_token = get_request_param(request, 'access_token')
    query_parameters = urllib.urlencode({'access_token': access_token})

    token_request = urllib2.urlopen(
        'https://api.amazon.com/auth/O2/tokeninfo?%s' % query_parameters)
    json_data = json.load(token_request)
    if token_request.getcode() == 200:
        is_verified = json_data['aud'] == settings.AMAZON_LOGIN_CLIENT_ID
        if not is_verified:
            return render(
                request, 'old/accounts/login.html', {
                    'next': return_url,
                    'error':
                    'Verification failed! Please contact administrators'
                })

        profile_request = urllib2.urlopen(
            'https://api.amazon.com/user/profile?%s' % query_parameters)
        profile_json_data = json.load(profile_request)

        if profile_request.getcode() == 200:

            # Extract the values we need from the Amazon profile
            amazon_user_id = profile_json_data['user_id']
            amazon_user_name = profile_json_data['name']
            amazon_user_email = profile_json_data['email']

            # Process the login as an amazon login, creating and adding roles to the user as needed
            return _process_amazon_login(access_token, amazon_user_email,
                                         amazon_user_id, request,
                                         amazon_user_name)

        else:
            return _handle_amazon_conn_error(request, profile_json_data)
    else:
        return _handle_amazon_conn_error(request, json_data)
Esempio n. 4
0
def amazon_login(request):
    error = get_request_param(request, 'error', None)
    return_url = get_return_url(request)

    if error is not None:
        if error == 'access_denied':
            return HttpResponseRedirect('/accounts/amazon_required/')
        error_message = request.GET.get('error_description') + \
                        '<br><a href="' + request.GET.get('error_uri') + \
                        '">Learn more</a>'
        return render(request, 'old/accounts/login.html', {
            'next': return_url,
            'error': error_message
        })

    access_token = get_request_param(request, 'access_token')
    query_parameters = urllib.urlencode({'access_token': access_token})

    token_request = urllib2.urlopen('https://api.amazon.com/auth/O2/tokeninfo?%s' % query_parameters)
    json_data = json.load(token_request)
    if token_request.getcode() == 200:
        is_verified = json_data['aud'] == settings.AMAZON_LOGIN_CLIENT_ID
        if not is_verified:
            return render(request, 'old/accounts/login.html', {
                'next': return_url,
                'error': 'Verification failed! Please contact administrators'
            })

        profile_request = urllib2.urlopen('https://api.amazon.com/user/profile?%s' % query_parameters)
        profile_json_data = json.load(profile_request)

        if profile_request.getcode() == 200:

            # Extract the values we need from the Amazon profile
            amazon_user_id = profile_json_data['user_id']
            amazon_user_name = profile_json_data['name']
            amazon_user_email = profile_json_data['email']

            # Process the login as an amazon login, creating and adding roles to the user as needed
            return _process_amazon_login(access_token, amazon_user_email, amazon_user_id, request, amazon_user_name)

        else:
            return _handle_amazon_conn_error(request, profile_json_data)
    else:
        return _handle_amazon_conn_error(request, json_data)
Esempio n. 5
0
def remove_association_with_venue(request, page_id, venue_id):
    page = get_object_or_404(TeamPage, pk=page_id)
    venue = get_object_or_404(Venue, pk=venue_id)
    TeamVenueAssociation.objects.get(team_page=page, venue=venue).delete()

    return HttpResponseRedirect(get_return_url(request, '/team/%s' % page_id))
Esempio n. 6
0
def _handle_amazon_conn_error(request, json_data):
    return render(request, 'old/accounts/login.html', {
        'next': get_return_url(request),
        'error': json_data['error_description']
    })
Esempio n. 7
0
def logout(request):
    return_url = get_return_url(request)
    django.contrib.auth.logout(request)

    return HttpResponseRedirect(return_url)
Esempio n. 8
0
def remove_association_with_venue(request, page_id, venue_id):
    page = get_object_or_404(TeamPage, pk=page_id)
    venue = get_object_or_404(Venue, pk=venue_id)
    TeamVenueAssociation.objects.get(team_page=page, venue=venue).delete()

    return HttpResponseRedirect(get_return_url(request, '/team/%s' % page_id))
Esempio n. 9
0
def _handle_amazon_conn_error(request, json_data):
    return render(request, 'old/accounts/login.html', {
        'next': get_return_url(request),
        'error': json_data['error_description']
    })
Esempio n. 10
0
def logout(request):
    return_url = get_return_url(request)
    django.contrib.auth.logout(request)

    return HttpResponseRedirect(return_url)