<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <br>
    <br>
    Il 12/11/2013 13:36, Luca Fabbri ha scritto:
    <blockquote
cite="mid:CAOS1iHxzYrtpaVGEpE262b+bwS3S+7xmxxtMGCQgKvQ33Pfh4Q@mail.gmail.com"
      type="cite">
      <pre wrap="">On Tue, Nov 12, 2013 at 1:03 PM, Natale Tarantino
<a class="moz-txt-link-rfc2396E" href="mailto:ntarantino@regione.sicilia.it"><ntarantino@regione.sicilia.it></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
Ciao,
sto scrivendo un  prodotto, basato su Archetypes, e vorrei usare la MasterSelectWidget con Plone 4.2.4
Premesso che la demo della widget funziona posto il codice:

slave_fields2 = (
    #Controls the vocabulary of subcategory
    {'name': 'subcategory',
     'action': 'vocabulary',
     'vocab_method':'subcategoryVocab',
     'control_param':'master',
    },
)

ATTicketSchema = folder.ATFolderSchema.copy() + atapi.Schema((
.....
    atapi.StringField('category',
        searchable=0,
        required=0,
        vocabulary='categoryVocab',
        widget=MasterSelectWidget(
            slave_fields=slave_fields2,
            description="Master",
        ),
    ),

    atapi.StringField('subcategory',
        searchable=0,
        required=0,
        default='',
        vocabulary='subcategoryVocab',
        widget=atapi.SelectionWidget(
            format='select',
            label=_(u'subcategory_label', default=u'Sub Category'),
            description=_(u'subcategory_help', default=u"Select helpdesk request sub type"),
            ),
    ),
.......
    security.declarePublic('categoryVocab')
    def categoryVocab(self):
        """ """
        categories = DisplayList()
        categories.add('', _(u'-- not specified --'))
        for category in self.aq_parent.getCategory_list():
            categories.add(category, category)
        return categories

    security.declarePublic('subcategoryVocab')
    def subcategoryVocab(self, master):
        subcategories = DisplayList()
        subcategories.add('', _(u'-- not specified --'))
        for subcategory in self.aq_parent.getSubcategory_list():
            #if subcategory[0] == master[0]:
                subcategories.add(subcategory, subcategory)
        return subcategories

ma sembra non trovare il valore di master

Error
Module zope.pagetemplate.pagetemplate, line 113, in pt_render
Warning: Macro expansion failed
Warning: <type 'exceptions.KeyError'>: 'macro'
......
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>
Line 36, Column 12
Expression: <PythonExpr field.Vocabulary(context)>
Names:
.......

  Module Products.Archetypes.utils, line 125, in mapply

TypeError: subcategoryVocab() takes exactly 2 arguments (1 given)
.......

Sbaglio o dovrei vedere con firebug una chiamata a masterselect.js?

Qualche idea?

</pre>
      </blockquote>
      <pre wrap="">
Sembra sbagliata la definizione di subcategoryVocab. Cos'è "master"?



</pre>
    </blockquote>
    master dovrebbe essere il parametro passato da category<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <img src="cid:part1.01030205.07060802@regione.sicilia.it"
        border="0"></div>
  </body>
</html>