Esempio n. 1
0
def social_reconnect(request, provider):
    user = request.user
    userprofile = UserProfile.objects.get(user=user)
    if user:
        if provider == 'facebook':
            userprofile.facebook_connect = True
            userprofile = userprofile.save()
            connected = check_facebook_connection(user)
            if not connected:
                if user.password != USERSOCIALAUTH_PASS:
                    try:
                        fb_auth = UserSocialAuth.objects.get(user=user, 
                                                             provider='facebook')
                        fb_auth.delete()
                    except UserSocialAuth.DoesNotExist:
                        pass
                redirect_url = 'http://%s%s' % (request.META['HTTP_HOST'],
                                                reverse('facebook_connect'))
                url = "https://graph.facebook.com/oauth/authorize?client_id" \
                      "=%s&scope=offline_access,publish_stream&redirect_uri=%s"
                url = url % (settings.FACEBOOK_APP_ID, redirect_url)
                return HttpResponseRedirect(url)
        elif provider == 'twitter':
            userprofile.twitter_connect = True
            userprofile = userprofile.save()
            connected = check_twitter_connection(user)
            if not connected:
                try:
                    social_auth = UserSocialAuth.objects.get(user=user, 
                                                             provider='twitter')
                    social_auth.delete()
                except UserSocialAuth.DoesNotExist:
                    pass
                return twitter_get_auth_url(request)
        else:
            return HttpResponseRedirect(reverse('account_info'))
    return HttpResponseRedirect(reverse('account_info'))
Esempio n. 2
0
def social_reconnect(request, provider):
    user = request.user
    userprofile = UserProfile.objects.get(user=user)
    if user:
        if provider == 'facebook':
            userprofile.facebook_connect = True
            userprofile = userprofile.save()
            connected = check_facebook_connection(user)
            if not connected:
                if user.password != USERSOCIALAUTH_PASS:
                    try:
                        fb_auth = UserSocialAuth.objects.get(
                            user=user, provider='facebook')
                        fb_auth.delete()
                    except UserSocialAuth.DoesNotExist:
                        pass
                redirect_url = 'http://%s%s' % (request.META['HTTP_HOST'],
                                                reverse('facebook_connect'))
                url = "https://graph.facebook.com/oauth/authorize?client_id" \
                      "=%s&scope=offline_access,publish_stream&redirect_uri=%s"
                url = url % (settings.FACEBOOK_APP_ID, redirect_url)
                return HttpResponseRedirect(url)
        elif provider == 'twitter':
            userprofile.twitter_connect = True
            userprofile = userprofile.save()
            connected = check_twitter_connection(user)
            if not connected:
                try:
                    social_auth = UserSocialAuth.objects.get(
                        user=user, provider='twitter')
                    social_auth.delete()
                except UserSocialAuth.DoesNotExist:
                    pass
                return twitter_get_auth_url(request)
        else:
            return HttpResponseRedirect(reverse('account_info'))
    return HttpResponseRedirect(reverse('account_info'))
Esempio n. 3
0
def account_info(request, premium=False, template="account_info.html"):
    """
    Displays the user's account information.
    Also updates logged in user's Twitter and Facebook connections.
    
    """

    user = request.user
    userprofile = user.userprofile
    provider_list = []

    try:
        oauth_user = UserSocialAuth.objects.get(user=user)
        multiple_providers = False
    except UserSocialAuth.DoesNotExist:
        oauth_user = None
        multiple_providers = False
    except UserSocialAuth.MultipleObjectsReturned:
        oauth_user = UserSocialAuth.objects.filter(user=user)
        for oauthuser in oauth_user:
            provider_list.append(oauthuser.provider)
        multiple_providers = True

    # Check if twitter connection exists, 
    # If not then sets twitter connection to false
    if userprofile and userprofile.twitter_connect:
        connected = check_twitter_connection(user)
        if not connected:
            userprofile.twitter_connect = False
            userprofile = userprofile.save()
            try:
                twit_auth = UserSocialAuth.objects.get(user=user, 
                                                       provider='twitter')
                twit_auth.delete()
            except UserSocialAuth.DoesNotExist:
                pass
    # Check if facebook connection exists,
    # If not then sets facebook connection to false
    if userprofile and userprofile.facebook_connect:
        connected = check_facebook_connection(user)
        if not connected:
            userprofile.facebook_connect = False
            userprofile = userprofile.save()
            if user.password != USERSOCIALAUTH_PASS:
                try:
                    fb_auth = UserSocialAuth.objects.get(user=user, 
                                                         provider='facebook')
                    fb_auth.delete()
                except UserSocialAuth.DoesNotExist:
                    pass

    # Get popup information
    info = {}
    popup = PopUpInformation.objects.all()
    for po in popup:
        info[po.html_id] = po.message

    context = {
        'popupinfo': info,
        'oauth_user': oauth_user,
        'userprofile': userprofile,
        'provider_list': provider_list,
        'multiple_providers': multiple_providers,
        'FACEBOOK_APPLICATION_ID': settings.FACEBOOK_APP_ID,
        'premium': premium,
    }
    return render(request, template, context)
Esempio n. 4
0
def account_info(request, premium=False, template="account_info.html"):
    """
    Displays the user's account information.
    Also updates logged in user's Twitter and Facebook connections.
    
    """

    user = request.user
    userprofile = user.userprofile
    provider_list = []

    try:
        oauth_user = UserSocialAuth.objects.get(user=user)
        multiple_providers = False
    except UserSocialAuth.DoesNotExist:
        oauth_user = None
        multiple_providers = False
    except UserSocialAuth.MultipleObjectsReturned:
        oauth_user = UserSocialAuth.objects.filter(user=user)
        for oauthuser in oauth_user:
            provider_list.append(oauthuser.provider)
        multiple_providers = True

    # Check if twitter connection exists,
    # If not then sets twitter connection to false
    if userprofile and userprofile.twitter_connect:
        connected = check_twitter_connection(user)
        if not connected:
            userprofile.twitter_connect = False
            userprofile = userprofile.save()
            try:
                twit_auth = UserSocialAuth.objects.get(user=user,
                                                       provider='twitter')
                twit_auth.delete()
            except UserSocialAuth.DoesNotExist:
                pass
    # Check if facebook connection exists,
    # If not then sets facebook connection to false
    if userprofile and userprofile.facebook_connect:
        connected = check_facebook_connection(user)
        if not connected:
            userprofile.facebook_connect = False
            userprofile = userprofile.save()
            if user.password != USERSOCIALAUTH_PASS:
                try:
                    fb_auth = UserSocialAuth.objects.get(user=user,
                                                         provider='facebook')
                    fb_auth.delete()
                except UserSocialAuth.DoesNotExist:
                    pass

    # Get popup information
    info = {}
    popup = PopUpInformation.objects.all()
    for po in popup:
        info[po.html_id] = po.message

    context = {
        'popupinfo': info,
        'oauth_user': oauth_user,
        'userprofile': userprofile,
        'provider_list': provider_list,
        'multiple_providers': multiple_providers,
        'FACEBOOK_APPLICATION_ID': settings.FACEBOOK_APP_ID,
        'premium': premium,
    }
    return render(request, template, context)