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 -~----------~----~----~----~------~----~------~--~---
