Fabrizio Reale wrote:
Alle mercoledì 19 marzo 2008, Yuri ha scritto:
Yuri wrote:
Salve,
sto cercando di implementare un contatore su un Field di un archetype
custom.
ho scritto:
StringField("n_erbario",
schemata="default",
required=0,
mutator = "setN_erbario",
widget=StringWidget(
label="Numero Erbario",
visible={'edit': 'invisible', 'view': 'visible'},
label_msgid="label_n_erbario",
description="""Progressivo erbario""",
i18n_domain="plone",
size=30,
),
e sotto, nella classe:
security.declareProtected(permissions.ModifyPortalContent,
'setN_erbario')
def setN_erbario(self, value):
""" prendo il valore dal contatore """
v = '100'
self.getField('n_erbario').set(self, v)
ma non setta il campo. Da web (oggetto/setN_erbario?value=) funziona,
ma da edit no.
Correzione, funziona solo in fase di creazione dell'oggetto, ma non in
edit.
È quello che voglio, ma non capisco perchè quando edito la form non lo
faccia.
Forse è necessario averlo nella request??
Idee?
Se lo metti invisibile non viene poi chiamato il metodo mutator.
Interessante :)
Cmq, il problema è che lo incrementa di tre volte... mettendolo nel mutator.
Ho leggermente modificato mxmCounter per contare, funziona egregiamente,
ma va di tre in tre :(
forse conviene usare una zcml e attaccarsi all'evento "oggetto creato".
Qualcuno ha il codice sottomano? :)
Fabry
_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html