Hi Waris,

Thank you for your replay. I just tried, it does not work.

I downloaded the original source example code from 
https://github.com/omab/python-social-auth/tree/master/examples/django_example. 

and modified the pipeline to the following to force the collection of email 
address. Same problem appeared.

def require_email(strategy, details, user=None, is_new=False, *args, 
**kwargs):
    #if user and user.email:
    #    return
    #elif is_new and not details.get('email'):
    #    if strategy.session_get('saved_email'):
    #        details['email'] = strategy.session_pop('saved_email')
    #    else:
    #        return redirect('require_email')
    return redirect('require_email')

and the setting to:
SOCIAL_AUTH_PIPELINE = (
   ...
    'social.pipeline.partial.save_status_to_session',
    'example.app.pipeline.require_email',
    ...

> )


On Friday, January 10, 2014 9:45:02 AM UTC-8, Yonggan Wu wrote:
>
>
> http://stackoverflow.com/questions/21032255/python-social-auth-partial-pipeline-can-not-resume
>
> I am trying to collect the password for the new user with partial pipeline 
> of python-social-auth. For some unknown reason, I am not able to resume the 
> pipeline, the page render back to the password collection page after I 
> submit the form.
>
> What's wired is that even I typed the http.../complete/backend-name, the 
> page will redirect back to the password collection page. It looks like the 
> rendering goes into an endless loop, the password collection page first 
> point to the complete page, the complete page direct back to the password 
> collection page. I checked the value for REDIRECT_FIELD_NAME, it is "next".
>
> I am not sure what's wrong with my code, any tips/suggestions are greatly 
> appreciated.
>
> settings.py
>
> SOCIAL_AUTH_PIPELINE = (
>     ...
>     'accounts.pipeline.get_password',
>     ...)
>
> pipeline.py
>
> from django.shortcuts import redirectfrom social.pipeline.partial import 
> partial
> @partialdef get_password(strategy, details, user=None, is_new=False, *args, 
> **kwargs):
>     if is_new:
>         return redirect('accounts_signup_social')
>     else:
>         return
>
> views.py
>
> def get_password(request):
>     if request.method == 'POST':
>         request.session['password'] = request.POST.get('password')
>         backend = request.session['partial_pipeline']['backend']
>         return redirect('social:complete', backend=backend)
>     return 
> render_to_response('accounts/social_signup.html',{"form":SocialSignUpForm}, 
> RequestContext(request))
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/57ad250e-c794-474a-bf80-549d1e667585%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to