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