Hello,

I have a simple use case where there is a 2 page form wizard then a
redirect to a third party ( for some external validation ) which
redirects back to a third and final page of the wizard.

I know I could just use snippets and SessionVars to manage this but I
have been using StatefullSnippets and would like to try to solve this
problem rather than accept failure and use another method.

I pass the url for the third page to the third party to redirect to
when their work is done. The problem is the snippet state is lost
after the redirect. I have tried many different things and it seems
like something like this should work.

// in the processing done before redirect to third party.
// assemble the return path url.

class Wizard extends StatefulSnippet with Logger {
....
def doRedirect = {
val returnPath = urlEncode(S.hostAndPath + ( link("/lastPage", () =>
redirectTo("/lastPage"), NodeSeq.Empty) \ "@href).text)

redirectTo( third_party_url +"?return=" + returnPath)
}
}

This does generate a return path like "http://localhost:8080/lastPage?
F1151306194165AHF=_" , however all state is gone after the third party
redirects back to the site, however if I don't redirect to the third
party and instead redirect the "val returnPath" I construct directly,
state is maintained.

Is it possible to resume my StatefulSnippet? Or shall I just use
something else?

Thanks to all who read and or respond.

-Andy

-- 
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.

Reply via email to