[Plone-IT] mutator e contatori

Yuri yurj a alfa.it
Mer 19 Mar 2008 13:59:22 UTC


Yuri wrote:
> 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? :)

nel frattempo, usando manage_afterAdd, il contatore viene incrementato 
di 8 per volta :(

>
>> Fabry
>>
>>
>>   
>
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html





Maggiori informazioni sulla lista Plone-IT