Yuri wrote:
Fabrizio Reale wrote:
Alle mercoledì 19 marzo 2008, Yuri ha scritto:
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.


Non mi è chiato lo scopo.
Puoi spiegartlo meglio così magari riusciamo ad aiutarti?

Fabry

Un banale contatore, che si incrementa ogni volta che aggiungo una istanza.

Mi va, ma manage_afterAdd è eseguita 4 volte:

   def manage_afterAdd(self, item, container):
       """ incrementa il contatore """
       # self.setN_erbario(self.mxm_counter.count(self))
       # stampo il contatore senza incrementarlo
LOG('Plone Debug', INFO, 'contatore ****', self.mxm_counter.get_count(self))


e ottengo, aggiungendo una sola istanza:

beethoven:/var/lib/zope2.9/instance/prova# tail log/event.log
36
------
2008-03-19T15:32:21 INFO Plone Debug contatore ****
36
------
2008-03-19T15:32:23 INFO Plone Debug contatore ****
36
------
2008-03-19T15:32:24 INFO Plone Debug contatore ****
36

se vi capita, fate così:

   def manage_afterAdd(self, item, container):
       """ incrementa il contatore """
       # solo in un caso, form.submitted è settato, per fortuna
       form = getattr(container.REQUEST,'form',None)
       if form.has_key('form.submitted'):
         # debug
#LOG('Plone Debug', INFO, 'contatore ****', self.mxm_counter.get_count(self))
         bla bla

Solo che in self non avete più l'oggetto, quindi non potete fare una pippa sull'oggetto...


_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a