I'm struggling to get custom ComputedErrorViewMessage adapters to work 
in z3c.form. I'm still debugging, but I came across this:

In error.py:

   ErrorViewMessage = value.StaticValueCreator(
     discriminators = ('error', 'request', 'widget', 'field', 'form', 

ComputedErrorViewMessage = value.ComputedValueCreator(
     discriminators = ('error', 'request', 'widget', 'field', 'form', 

class ErrorViewSnippet(object):


     def update(self):
         value = zope.component.queryMultiAdapter(
             (self.context, self.request, self.widget,
              self.field, self.form, self),
             interfaces.IValue, name='message')
         if value is not None:
             self.message = value.get()
             self.message = self.createMessage()


 From what I can tell, self.context is the exception; self.request, 
self.widget, self.field and self.form are as you'd expect. But the last 
discriminator, 'content' does not match up with 'self' (i.e. the error 
view snippet).

So, which is right? The discriminator on the value adapter factory, or 
the multi-adapter lookup? The documentation mentions 'content' as the 
discriminator, but doesn't define it any further.

FWIW, my expection is that 'content' should be the form's context 
content object.


Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to