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