<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Ciao,<br>
    sto scrivendo un  prodotto, basato su Archetypes, e vorrei usare la
    MasterSelectWidget con Plone 4.2.4<br>
    Premesso che la demo della widget funziona posto il codice:<br>
    <br>
    slave_fields2 = (<br>
        #Controls the vocabulary of subcategory<br>
        {'name': 'subcategory',<br>
         'action': 'vocabulary',<br>
         'vocab_method':'subcategoryVocab',<br>
         'control_param':'master',<br>
        },<br>
    )<br>
    <br>
    ATTicketSchema = folder.ATFolderSchema.copy() + atapi.Schema((<br>
    .....<br>
        atapi.StringField('category',<br>
            searchable=0,<br>
            required=0,<br>
            vocabulary='categoryVocab',<br>
            widget=MasterSelectWidget(<br>
                slave_fields=slave_fields2,<br>
                description="Master",<br>
            ),    <br>
        ),<br>
    <br>
        atapi.StringField('subcategory',<br>
            searchable=0,<br>
            required=0,<br>
            default='',<br>
            vocabulary='subcategoryVocab',<br>
            widget=atapi.SelectionWidget(<br>
                format='select', <br>
                label=_(u'subcategory_label', default=u'Sub Category'),<br>
                description=_(u'subcategory_help', default=u"Select
    helpdesk request sub type"),<br>
                ),<br>
        ),<br>
    .......<br>
        security.declarePublic('categoryVocab')<br>
        def categoryVocab(self):<br>
            """ """<br>
            categories = DisplayList()<br>
            categories.add('', _(u'-- not specified --'))<br>
            for category in self.aq_parent.getCategory_list():<br>
                categories.add(category, category)<br>
            return categories<br>
    <br>
        security.declarePublic('subcategoryVocab')<br>
        def subcategoryVocab(self, master):<br>
            subcategories = DisplayList()<br>
            subcategories.add('', _(u'-- not specified --'))<br>
            for subcategory in self.aq_parent.getSubcategory_list():<br>
                #if subcategory[0] == master[0]:<br>
                    subcategories.add(subcategory, subcategory)<br>
            return subcategories<br>
    <br>
    ma sembra non trovare il valore di master<br>
    <br>
    Error<br>
    Module zope.pagetemplate.pagetemplate, line 113, in pt_render<br>
    <b>Warning: Macro expansion failed</b><br>
    <b>Warning: <type 'exceptions.KeyError'>: 'macro'<br>
      ......<br>
    </b><b>URL:
<a class="moz-txt-link-freetext" href="file:/usr/local/Plone/buildout-cache/eggs/Products.Archetypes-1.8.6-py2.7.egg/Products/Archetypes/skins/archetypes/widgets/selection.pt">file:/usr/local/Plone/buildout-cache/eggs/Products.Archetypes-1.8.6-py2.7.egg/Products/Archetypes/skins/archetypes/widgets/selection.pt</a></b><br>
    <b>Line 36, Column 12</b><br>
    <b>Expression: <PythonExpr field.Vocabulary(context)></b><br>
    <b>Names:<br>
      .......</b><br>
    <br>
      Module Products.Archetypes.utils, line 125, in mapply
    <p>TypeError: subcategoryVocab() takes exactly 2 arguments (1 given)<br>
      .......<br>
    </p>
    Sbaglio o dovrei vedere con firebug una chiamata a masterselect.js?<br>
    <br>
    Qualche idea?<br>
    <b><br>
    </b>
    <div class="moz-signature">-- <br>
      <img src="cid:part1.08080405.01040107@regione.sicilia.it"
        border="0"></div>
  </body>
</html>