And user is not a RequestVar, correct? So this is not a RequestVar problem then?
What is user? A JPA entity? Could this be a JPA issue?
If you like you can use System.identityHashcode to demonstrate that the same 
user instance is losing its data.


-------------------------------------
Jay Cain<[email protected]> wrote:

User[ id=0 email=, username = , created on=Fri Jan 29 10:57:27 MST
2010 role=Basic]

This value I get

On Jan 28, 10:44 pm, Naftoli Gugenheim <[email protected]> wrote:
> You didn't answer my question. At the time the closure passed to redirectTo 
> is executed, what is the value of 'user'?
>
> -------------------------------------
>
> Jay Cain<[email protected]> wrote:
>
> it appears that the user still creates a new User.  it is because I
> tell it to do that each time a new request is made.
>
> // Set up a requestVar to track the user object
> object userVar extends RequestVar(new User())
>
> So I guess my question is how prevent it from doing that and still
> pass a User object to the RequestVar I tried a RequestVar[User] but no
> bueno
>
> below is the snippet code for registering a user
>
>  user.password = passwordHashed
>  user.activationCode = activationCode
>  user.userProfile.user = user
>  user.userPreferences.user = user
>  Model.mergeAndFlush(user)
>  MailUtils.mailConfirmationLetter(user)
>  S.redirectTo("thank_you", () => { println(user); userVar(user);}
>
> In the mean time I'm going to just extract the email and fullname from
> the user and pass it as a request param
>
> user.password = passwordHashed
> user.activationCode = activationCode
> user.userProfile.user = user
> user.userPreferences.user = user
> Model.mergeAndFlush(user)
> MailUtils.mailConfirmationLetter(user)
> val email = user.email
> val fullName = user.userProfile.fullName
> println("email " + email)
> S.redirectTo("thank_you", () => {S.set("email", email); S.set
> ("fullName", fullName);})
>
> Thanks for helping out
>
> On Jan 27, 10:20 pm, Naftoli Gugenheim <[email protected]> wrote:
>
>
>
> > Can you put a trace in that closure to see if 'user' has the correct value?
> > S.redirectTo("thank_you", () => {println(user); userVar(user);})
> > etc.
>
> > On Wed, Jan 27, 2010 at 11:51 PM, Jay Cain <[email protected]> wrote:
> > > I think that this would work....
>
> > > // Set up a requestVar to track the user object
> > > object userVar extends RequestVar(new User())
>
> > > S.redirectTo("thank_you", () => {userVar(user);})
>
> > > but no bueno.
>
> > > On Jan 27, 4:56 pm, Naftoli Gugenheim <[email protected]> wrote:
> > > > When you redirect you start a new request, so RequestVars are fresh.
> > > > redirectTo has an overload that take additionally a function to execute
> > > in the new request. Set the RequestVar there.
>
> > > > -------------------------------------
>
> > > > Jay Cain<[email protected]> wrote:
>
> > > > I am a newbie to Lift and Scala.  I'm registering users and once they
> > > > have entered the information in successfully.  I want to redirect to a
> > > > "thank_you" page that will display a snippet
>
> > > > <lift:UserOps.thanksMessage>
> > > >         <p>
> > > >             <entry:fullname/> thanks for joining Echo.  The
> > > > confirmation
> > > >                 instructions for completing the signup process have been
> > > sent to
> > > >                 your email address, <entry:email/>
> > > >         </p>
> > > > </lift:UserOps.thanksMessage>
>
> > > > I assume that when I redirect it doesn't hold the state of the user
> > > > information.
>
> > > > On submit I invoke signup
>
> > > > def signup(xhtml: NodeSeq) : NodeSeq = {
> > > >   ........
> > > >   S.redirectTo("thank_you")
>
> > > > }
>
> > > > ThanksMessage function....................
>
> > > > def thanksMessage(xhtml: NodeSeq) : NodeSeq = {
> > > >     print("Username: " + user.username)
> > > >     bind("entry", xhtml,
> > > >            "fullname" -> Text(user.userProfile.fullName),
> > > >            "email" -> Text(user.email))
>
> > > > }
>
> > > > I have declared a RequestVar object
>
> > > > ** object userVar extends RequestVar(new User()) **
>
> > > > but I'm sure that it is creating an empty user object in my RequestVar
> > > > userVar when I redirect.
>
> > > > Is a StatefulSnippet the solution for this?  I just think that there's
> > > > a much simpler solution that I'm overlooking.
>
> > > > Jay
>
> > > > --
> > > > You received this message because you are subscribed to the Google 
> > > > Groups
> > > "Lift" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > [email protected]<liftweb%[email protected]>
> > > .
> > > > For more options, visit this group athttp://
> > > groups.google.com/group/liftweb?hl=en.
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "Lift" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<liftweb%[email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/liftweb?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Lift" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/liftweb?hl=en.

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

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

Reply via email to