Bookmark and Share
You are here: Home Documentazione Domande Frequenti Workflow: come si fa a scatenare una transizione di stato da codice python?
Document Actions

Workflow: come si fa a scatenare una transizione di stato da codice python?

Up to Table of Contents

Qual è la modalità corretta per effettuare in sicurezza transizioni di workflow da codice (utilizzando il metodo isActionSupported)?

Supponiamo di dover cambiare lo stato dell'oggetto obj: non basta controllare solo che nello stato attuale in cui si trova l'oggetto sia definita la transizione desiderata che porta al nuovo stato. Ciò perchè salteremmo la valutazione dell'espressione Expression, il controllo dei permessi che possono essere definiti su ogni transizione e potrebbe quindi generarsi un'eccezione inaspettata.

Ecco il codice:

portal_workflow = getToolByName(self, 'portal_workflow')
wf_list = portal_workflow.getWorkflowsFor(obj)
if wf_list:
wf = wf_list[0]

if wf.isActionSupported(obj, 'publish'):
p_wf.doActionFor(obj, 'publish')

 

by Davide Moro last modified 2007-10-26 12:47
 

Supporto

Ottieni un
aiuto veloce e mirato sul forum, gratis!

partecipa al forum

 

Segui le icone

 

Livelli di difficoltà

livello guruSolo per i "guru"!
livello avanzatoPer configuratori e sviluppatori
livello medioPer chi ha già familiarità
livello basePer tutti!

 

I video

video

Il documento è supportato da un video!