Hi Benjamin,

I haven't actually tried running your code, but I suspect the problem
is in how you are managing the data as well.  In your submit-action,
you are making calls to login-data and login-class-store on your
widget to use as the data and class store arguments to the function
call (though the class-store arg is not necessary unless you are
trying to override what object-store returns for your object).  The
problem is, you never set login-data on your widget, so the function
update-object-view-from-request is not able to get the class of the
object from your data (I suspect that in your log statement in login-
submit-action, data is nil?), and this leads to it spitting out the
message that weblocks:password is not bound, because it will default
to looking for that keyword in the current package that update-object-
view-from-request is running in (which is weblocks).

I see that you are using render-view to display the form, which is
fine, but render-view returns an object representing the view of the
form that you need to set in your login-data slot of your widget.
Essentially, the way this whole thing works is, when a user types some
things into a form created from a view and hits submit, the server
just gets a bunch of serialized data.  From this data alone, the
server can't do much unless it knows how it needs to map it back to
some class that is meaningful to you.  So, you are responsible for
providing the class (by making an instance of it and giving that
instance to update-object-view-from-request), and the server can then
go through the slots of your class and get the data for each of these
from the serialized object the client just sent.

Hope that helps.

On Mar 20, 9:57 am, Benjamin Collins <[email protected]> wrote:
> On Mar 19, 11:18 pm, Saikat Chakrabarti <[email protected]> wrote:
>
> > Have you tried using your view with a normal dataform to see if that
> > works?  I have a login form using the normal dataform widget (well, a
> > quickform, but that inherits from dataform) that doesn't have any
> > trouble with deserialization.  If the view does seem to work using a
> > dataform (or quickform), can you post the code for your custom widget
> > and maybe I can help you debug that?
>
> I'm using the default-login-view in :weblocks, so I'm quite sure that
> my widget is broken :-(
>
> My current theory is that the problem lies in how the data object gets
> created and passed around, but have a look for 
> yourself:http://pastebin.com/m4c78f754
>
> > I like the idea of an IRC channel, though there are still not really
> > that many people active on this mailing list (I would definitely lurk
> > in a #weblocks though).  I do see a lot of weblocksians in #lisp or
> > irc.freenode.net, so you could try asking in there sometimes.  I have
> > a notification set for "weblocks" there.
>
> #weblocks, afaik, is dead because the owner is never there and isn't
> someone on this list.  That's why I registered ##weblocks.   To get
> #weblocks back, if we were ever so inclined, would require Leslie and
> Stephen to write an email to the freenode administrators and claim it
> for us - or figure out who registered the channel and get ops from
> them.  Sadly, as you say, this list isn't active enough to drive much
> "traffic" into IRC.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"weblocks" 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/weblocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to