[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