Пример #1
0
def get_openid_providers(request):
    providers = []
    openid_form = None
    for provider in settings.SORTED_OPENID_PROVIDERS:
        errors = []

        if request.method == 'POST' and request.POST.get(
                'login') == provider['name']:
            if provider['pattern'] and request.POST.get('openid', ''):
                data = request.POST.copy()
                data['openid'] = provider['pattern'] % data['openid']
            else:
                data = request.POST
            form = openid_forms.LoginForm(data)
            if form.is_valid():
                openid_form = form
            else:
                errors.extend([error for error in form.non_field_errors()])
                errors.extend([error for error in form['openid'].errors])
        else:
            form = openid_forms.LoginForm()

        providers.append({
            'form': form,
            'name': provider['name'],
            'url': provider['url'],
            'errors': errors,
        })

    return providers, openid_form
Пример #2
0
def get_openid_providers(request):
    providers = []
    openid_form = None
    for provider in settings.SORTED_OPENID_PROVIDERS:
        errors = []

        if request.method == 'POST' and request.POST.get('login') == provider['name']:
            if provider['pattern'] and request.POST.get('openid', ''):
                data = request.POST.copy()
                data['openid'] = provider['pattern'] % data['openid']
            else:
                data = request.POST
            form = openid_forms.LoginForm(data)
            if form.is_valid():
                openid_form = form
            else:
                errors.extend([error for error in form.non_field_errors()])
                errors.extend([error for error in form['openid'].errors])
        else:
            form = openid_forms.LoginForm()

        providers.append({
            'form': form,
            'name': provider['name'],
            'url': provider['url'],
            'errors': errors,
        })

    return providers, openid_form
Пример #3
0
def get_social_accounts(user):
    """
    {% get_social_accounts user as accounts %}

    Then:
        {{accounts.twitter}} -- a list of connected Twitter accounts
        {{accounts.twitter.0}} -- the first Twitter account
        {% if accounts %} -- if there is at least one social account
    """
    accounts = {}
    for account in user.socialaccount_set.all().iterator():
        providers = accounts.setdefault(account.provider, [])
        providers.append(account)
    return accounts
Пример #4
0
def get_social_accounts(user):
    """
    {% get_social_accounts user as accounts %}

    Then:
        {{accounts.twitter}} -- a list of connected Twitter accounts
        {{accounts.twitter.0}} -- the first Twitter account
        {% if accounts %} -- if there is at least one social account
    """
    accounts = {}
    for account in user.socialaccount_set.all().iterator():
        providers = accounts.setdefault(account.provider, [])
        providers.append(account)
    return accounts
Пример #5
0
def login(request):

    providers = []
    for provider in get_providers():

        try:
            provider.social_app = SocialApp.objects.get(provider=provider.id,
                                                        sites=settings.SITE_ID)
        except SocialApp.DoesNotExist:
            provider.social_app = None
        providers.append(provider)
    return LoginView.as_view(authentication_form=LoginForm,
                             template_name='accounts/login_form.html',
                             extra_context={'providers': providers})(request)