Ciao Luca, grazie innanzitutto, ma ti devo chidere dei chiarimenti. 1)Il file zcml in che cartella va inserito? 2)E non ho capito il nome_modulo chi è? E' il mio oggetto che salvo? 3)Inoltre ho effettuato delle prove, credo di aver capito che il metodo che chiami nome_metodo per intenderci tu lo inserisci nel file dell'oggetto, in cui c'è definito lo schema con i relativi campi, ma non capisco il primo parametro che passi all'adpter, ho letto i log e non riconosce il valore che gli sto passando. Ipotizzando quindi che il mio oggetto (content type) che salvo è rappresentato nel file Oggetto.py, mi dici come dovrei scrivere il file zcml e il rispettivo adpter?
Grazie Luca82 wrote: > > Bene. Allora siamo nella situazione in cui tu hai un determinato content > type. Ne crei una istanza, lo compili e salvi. > A questo punto una cosa pulita che puoi fare secondo me è eseguire la > transizione che ti interessa via codice, sfruttando > gli eventi. > > in un file zcml registri un handler in questo modo: > > <configure > xmlns="http://namespaces.zope.org/zope" > xmlns:plone="http://namespaces.plone.org/plone" > xmlns:five="http://namespaces.zope.org/five"> > > <subscriber handler=".nome_modulo.nome_metodo" /> > </configure> > > nel modulo nome_modulo.py aggiungi qualcosa di simile a: > > from Products.Archetypes.interfaces import IObjectInitializedEvent # > Interfaccia per catturare l'evento di primo slvataggio > from Products.Archetypes.interfaces import IObjectEditedEvent # > Interfaccia per catturare tutti i salvataggi di un tipo, successivi al > primo > # Ovviamente dovrai adattare solo l'interaccia che ti serve > from zope.component import adapter > from Products.CMFCore.utils import getToolByName > > @adapter(IInterfacciaDelTuoTipo, IObjectInitializedEvent) > def nome_metodo(obj, event): > """ > event: l'evento > obj: il tuo oggetto che hai appena compilato e salvato > """ > pw = getToolByName(obj, 'portal_workflow') > > if obj.MetodoCheVerificaLaCondizione(): > pw.doActionFor(obj, 'nome_transizione') > else: > pw.doActionFor(obj, 'nome_altra_transizione') > > Le transizioni ti porteranno in uno stato anzichè in un altro. > > > > 2009/3/14 crirusso78 <[email protected]> > >> >> non so Luca, >> >> sono poco pratica, comunque cerco di spiegare meglio. >> Ho tre stati. >> >> 1) Stato1, l'utente compila un form digitanto un determinato valore in un >> campo (quello che dovrò verificare) >> 2a) Se il valore soddisfa una certa condizione che controllo tramite uno >> script esterno, vorrei che il flusso saltasse allo stato 3 >> 2b)invece se non viene verificata da stato 1 il sistema deve portarmi in >> uno >> stato intermedio chiamato 2 >> >> Forse così sono stata più chiara? >> Grazie! >> Cri >> >> >> Luca82 wrote: >> > >> > Non so se ho capito bene il tuo problema, ma se crei due transizioni >> > automatiche? Poi come guard della transizione metti la chiamata al tuo >> > metodo. >> > Dovrebbe venire eseguita soltanto quella che verifica la condizione, >> nel >> > momento in cui la condizione risulta valida. >> > >> > >> > >> >> -- >> View this message in context: >> http://n2.nabble.com/Come-effettuare-una-transizione-in-base-ad-una-condizione-valutata-all%27interno-di-uno-stato-tp2477750p2478407.html >> Sent from the Plone - Italy mailing list archive at Nabble.com. >> >> >> >> _______________________________________________ >> Plone-IT mailing list >> [email protected] >> http://lists.plone.org/mailman/listinfo/plone-it >> http://www.nabble.com/Plone---Italy-f21728.html >> > > _______________________________________________ > Plone-IT mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/plone-it > http://www.nabble.com/Plone---Italy-f21728.html > -- View this message in context: http://n2.nabble.com/Come-effettuare-una-transizione-in-base-ad-una-condizione-valutata-all%27interno-di-uno-stato-tp2477750p2481126.html Sent from the Plone - Italy mailing list archive at Nabble.com.
_______________________________________________ Plone-IT mailing list [email protected] http://lists.plone.org/mailman/listinfo/plone-it http://www.nabble.com/Plone---Italy-f21728.html
