[Plone-IT] Come effettuare una transizione in base ad una condizione valutata all'interno di uno stato
Luca Bel
lucabel a gmail.com
Ven 27 Mar 2009 15:10:00 UTC
Ora a me interessa andare in stati diversi a seconda di una data condizione,
> ma vorrei dare la possibilità di un primo stato bozza, l'utente potrebbe
> accorgersi di aver sbagliato e in questo modo al salvataggio passa
> automaticamente ad un altro stato.
>
Un workflow con uno stato in più!
Inoltre c'è un modo per rendere non pù modificabili certi campi del content
> type in determinati stati del worflow?
>
Ridefinisci il template di edit: metti nella skin un file con un nome ben
preciso.
Se il tuo tipo si chiama MioNuovoTipo, dovrai creare un file che si chiama
mionuovotipo_edit.pt nella skin del prodotto.
il file sarà una personalizzazione di Archetypes/skins/archetypes/
edit_macros.pt
Attorno a riga 100 dovresti vedere qualcosa tipo
<tal:fields repeat="field
python:schematas[fieldset].editableFields(here, visible_only=True)">
<metal:fieldMacro
use-macro="python:here.widget(field.getName(), mode='edit')" />
</tal:fields>
è l'istruzione che per ogni fieldset ti disegna i campi. Tu puoi
trasformarlo in questo modo:
<tal:fields condition="python:
fieldset!='default'"
repeat="field
python:schematas[fieldset].editableFields(here, visible_only=True)">
<metal:fieldMacro
use-macro="python:here.widget(field.getName(), mode='edit')" />
</tal:fields>
<tal:fieldset_default
condition="python:fieldset=='default'">
<metal:fieldMacro
use-macro="python:here.widget('title', mode='edit')" />
<metal:fieldMacro
use-macro="python:here.widget('description', mode='edit')" />
....
</tal:fieldset_default>
Ovvero per tutti i campi che non stanno nel fieldset di defaul, stampa
normalmente, per quelli di default, richiama direttamente le macro che ti
servono.
Se un campo lo vuoi non modificabile puoi usare:
<metal:fieldMacro use-macro="python:here.widget('description', mode='view')"
/>
che nel template di edit ti permette di richiamare il widget di view di un
field
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20090327/065e2a4c/attachment-0001.html>
Maggiori informazioni sulla lista
Plone-IT