[Plone-IT] Come effettuare una transizione in base ad una condizione valutata all'interno di uno stato

crirusso78 crirusso78 a yahoo.it
Mer 1 Apr 2009 12:33:43 UTC


Ciao Luca,

non sto riuescendo ad accedere al forum,

Il mio discorso è che io devo rendere dei campi non modificabili in determinati stati del workflow e per determinati ruoli.

Ad esempio un utente con ruolo member al primo stato, compila i campi del mio tipo, successivamente alcuni di questi campi in un altro stato, non potranno essere più modificabili dall'utente con ruolo member, ma solo ad es. dall'utente reviewer.

Almeno, ma forse sono io che non ho capito la tua spiegazione, il template che tu modifichi è lo stesso per tutto il percorso del worklow o sbaglio?

Grazie
Ciao
Cri




--- Ven 27/3/09, Luca Bel (via Nabble) <ml-user+18841-1311842760 a n2.nabble.com> ha scritto:

Da: Luca Bel (via Nabble) <ml-user+18841-1311842760 a n2.nabble.com>
Oggetto: Re: [Plone-IT] Come effettuare una transizione in base ad una  condizione valutata all'interno di uno stato
A: "crirusso78" <crirusso78 a yahoo.it>
Data: Venerdì 27 marzo 2009, 16:10






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





_______________________________________________

Plone-IT mailing list

Plone-IT a ...

http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html





            
This email is a reply to your post @ http://n2.nabble.com/Come-effettuare-una-transizione-in-base-ad-una-condizione-valutata-all%27interno-di-uno-stato-tp2477750p2544772.html

You can reply by email or by visting the link above.









-- 
View this message in context: http://n2.nabble.com/Come-effettuare-una-transizione-in-base-ad-una-condizione-valutata-all%27interno-di-uno-stato-tp2477750p2568692.html
Sent from the Plone - Italy mailing list archive at Nabble.com.





Maggiori informazioni sulla lista Plone-IT