[Plone-IT] Attributo storage=MySQLSQLStorage() per ComputedField

Yuri yurj a alfa.it
Gio 23 Lug 2009 09:41:07 UTC


crirusso78 ha scritto:
> No Yuri,
>
> non penso che c'entri, ma comunque ora l'ho modificato come in
> quell'esempio.
>
> L'eccezione non la genera sempre, mi sono resa conto, che se azzero il db,
> gli inserimenti vanno a buon fine, dopo un pò di inserimenti genera
> l'eccezione.
>
> Qualcuno lo applica e sa come risolvere?
>   

 Più che segnalare il bug a chi ha scritto il codice, non so.

 Ma non ti conviene semplicemente registrare un evento per la modifica, 
e all'interno dell'handler dell'evento, salvare i dati nel database (o 
aggiornarli)?

 In questo modo hai più libertà e non occorri in bug di sqlstorage che 
mi pare non sia neanche mantenuto.

> Inoltre c'è anche un altro problema, io vorrei che per ogni cambio di stato
> del mio workflow venisse aggiornato automaticamente,  invece mi sono resa
> conto che utilizzando mutator, il valore nel campo stato viene modificato,
> dopo aver editato l'archetype e cliccato su modifica.
>
> Come si può fare, in modo che cambi automaticamente?
>   

 tu usi setfield, che non reindicizza. Potresti usare la funzione 
update(campo=valore) che fa anche la reindicizzazione dell'elemento.

 Forse è quello il problema?
> Grazie
> Cri
>
>
> Yuri-11 wrote:
>   
>> crirusso78 ha scritto:
>>     
>>> Ah ok, non sapevo.
>>> Non ho mai usato mutator, quindi ho cercato qualche es. in rete, ma mi da
>>> ques'eccezione IndexError: tuple index out of range
>>>
>>> Il codice è il seguente: 
>>>
>>>  StringField(
>>>         name='stato',
>>>         mutator = 'setStato',
>>>         widget=StringField._properties['widget'](
>>>             label='stato',
>>>             #visible={'edit': 'invisible', 'view': 'invisible'},
>>>             label_msgid='Arch_label_stato',
>>>             i18n_domain='Arch',
>>>         ),
>>>         label="stato",
>>>         storage=MySQLSQLStorage(),
>>>     ),
>>>
>>> def setStato(self,stato):
>>>   
>>>       
>> non è (self, value)?
>>
>> http://www.devshed.com/c/a/Zope/Plone-Content-Types-With-Archetypes/2/
>>
>> Non so se c'entra...
>>
>>     
>>>         wf_tool = getToolByName(self,'portal_workflow')
>>>         statoX = wf_tool.getInfoFor(self, 'review_state')
>>>         self.getField('stato').set(self, statoX)
>>>
>>> Cosa sbaglio?
>>> Grazie!
>>> Cri
>>>
>>>
>>> Luca-7 wrote:
>>>   
>>>       
>>>> 2009/7/21 Yuri <yurj a alfa.it>:
>>>>     
>>>>         
>>>>> Il computedfield viene calcolato, credo, in fase di visualizzazione, in
>>>>> plone non viene memorizzato nulla, di conseguenza lo storage non serve:
>>>>>       
>>>>>           
>>>> Giusto così.
>>>>
>>>> -- 
>>>> -- luca
>>>>
>>>> _______________________________________________
>>>> Plone-IT mailing list
>>>> Plone-IT a lists.plone.org
>>>> http://lists.plone.org/mailman/listinfo/plone-it
>>>> http://www.nabble.com/Plone---Italy-f21728.html
>>>>
>>>>
>>>>     
>>>>         
>>>   
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Plone-IT mailing list
>>> Plone-IT a lists.plone.org
>>> http://lists.plone.org/mailman/listinfo/plone-it
>>> http://www.nabble.com/Plone---Italy-f21728.html
>>>       
>>
>> _______________________________________________
>> Plone-IT mailing list
>> Plone-IT a lists.plone.org
>> http://lists.plone.org/mailman/listinfo/plone-it
>> http://www.nabble.com/Plone---Italy-f21728.html
>>
>>     
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html





Maggiori informazioni sulla lista Plone-IT