<br><br><div><span class="gmail_quote">On 9/18/07, <b class="gmail_sendername">Martijn Faassen</b> &lt;<a href="mailto:faassen@startifact.com">faassen@startifact.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hey,<br><br>Santiago Videla wrote:<br>[snip]<br>&gt;<br>&gt; client.py<br>&gt;<br>&gt; class Client(grok.Container ):<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; implements(IPerson, IClient)<br>&gt;<br>&gt; Thie works fine.<br>&gt;<br>&gt; But I&#39;m trying to use this:
<br>&gt; in interfaces.py<br>&gt; class IClient(IPerson)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;...<br>&gt; in client.py<br>&gt; class Client(grok.Container):<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; implements(IClient)<br>&gt;<br>&gt; but when I try to edit a client instance i get this:
<br>&gt;<br>&gt;&nbsp;&nbsp; File &quot;/home/sancho/buildout-eggs/grok-0.10-py2.4.egg/grok/formlib.py&quot;,<br>&gt; line 18, in success<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; return self.success_handler(self.form, **data)<br>&gt;&nbsp;&nbsp; File &quot;/home/sancho/revoluciones/proyectos/sac/Sac/src/sac/client.py&quot;,
<br>&gt; line 109, in save<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; self.applyData(self,**data)<br>&gt;&nbsp;&nbsp; File<br>[...]<br>&gt; TypeError: (&#39;Could not adapt&#39;, &lt;sac.client.EditClient object at<br>&gt; 0x99de3ac&gt;, &lt;InterfaceClass sac.interfaces.IPerson
&gt;)<br><br>Can you show us this sac.client.EditClient class?</blockquote><div><br>Hey,<br><br>in client.py, I defined<br><br>class EditClient(grok.EditForm):<br>&nbsp;&nbsp;&nbsp; grok.context(Client)<br>&nbsp;&nbsp;&nbsp; grok.name(&#39;edit&#39;)<br>
&nbsp;&nbsp;&nbsp; form_fields = grok.AutoFields(Client)<br>&nbsp;&nbsp;&nbsp; template = grok.PageTemplateFile(&#39;<a href="http://form.pt">form.pt</a>&#39;)<br>&nbsp;&nbsp;&nbsp; form_title = u&#39;Edit client&#39;<br><br>&nbsp;&nbsp;&nbsp; @grok.action(&quot;Save&quot;)<br>&nbsp;&nbsp;&nbsp; def save(self, **data):
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; self.applyData(self,**data)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; self.redirect(self.url(self.context))<br>&nbsp;<br>And I also have<br><br>class AddClient(grok.AddForm):<br>&nbsp;&nbsp;&nbsp; grok.context(ClientsContainer)<br><br>&nbsp;&nbsp;&nbsp; form_fields = grok.AutoFields
(Client)<br>&nbsp;&nbsp;&nbsp; template = grok.PageTemplateFile(&#39;<a href="http://form.pt">form.pt</a>&#39;)<br>&nbsp;&nbsp;&nbsp; form_title = u&#39;Add client&#39;<br><br>&nbsp;&nbsp;&nbsp; @grok.action(&quot;Add client&quot;)<br>&nbsp;&nbsp;&nbsp; def add(self, **data):<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; client = Client()
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; self.applyData(client, **data)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name = INameChooser(self.context).chooseName(&#39;client&#39;, client)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; self.context[name] = client<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; self.redirect(self.url(self.context))<br><br>the AddClient form works fine using 
<br><br>class IClient(IPerson)<br><br>class Client(grok.Container ):<br>&nbsp;&nbsp;&nbsp; implements(IClient)<br><br>but when I go to edit, i get the error<br><br>thanks in advance<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Regards,<br><br>Martijn<br><br>_______________________________________________<br>Grok-dev mailing list<br><a href="mailto:Grok-dev@zope.org">Grok-dev@zope.org</a><br><a href="http://mail.zope.org/mailman/listinfo/grok-dev">
http://mail.zope.org/mailman/listinfo/grok-dev</a><br></blockquote></div><br><br clear="all"><br>-- <br>Santiago Videla<br><a href="http://www.revolucionesweb.com.ar">www.revolucionesweb.com.ar</a><br><br>Sigue la mata dando de que hablar siempre abajo y a la izquierda donde el pensamiento que se hace corazón resplandece con la palabra sencilla y humilde que 
l@s tod@s somos.