valore di default in formlib

4 messages Options
Embed this post
Permalink
Franco Carinato

valore di default in formlib

Reply Threaded More More options
Print post
Permalink
Sto provando ad utilizzare formlib per la creazione di un form in plone3.
Vorrei popolare di default un campo del form con un valore preso
dinamicamente dal portale, es self.context.portal_url()
ma non trovo come passare al form questo valore..
Ho provato dalla classe del form (class MyForm(formbase.PageForm):) a definire
form_fields['prova'].field.default = self.context.portal_url()
ma mi dice che non e' definito self..

Qualche idea ?
Grazie
fc

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Giovanni Toffoli

Re: valore di default in formlib

Reply Threaded More More options
Print post
Permalink
Franco,

ma il tuo codice sembra non sia all'interno di un metodo.

Io proverei a
- ridefinire il metodo setUpWidgets di MyForm
- al suo interno eseguire prima l'omonimo metodo della superclass
formbase.PageForm
- effettuare poi l'override del valore iniziale del widget, con un codice
del tipo
self.widgets['prova'].value = ...
supponendo che i widget abbiano un attributo value, cosa che ipotizzo ma non
so assolutamente.

Ciao, Giovanni

----- Original Message -----
From: "Franco Carinato" <[hidden email]>
To: "La lista degli italiani appassionati di Plone."
<[hidden email]>
Sent: Tuesday, September 15, 2009 1:17 PM
Subject: [Plone-IT] valore di default in formlib


> Sto provando ad utilizzare formlib per la creazione di un form in plone3.
> Vorrei popolare di default un campo del form con un valore preso
> dinamicamente dal portale, es self.context.portal_url()
> ma non trovo come passare al form questo valore..
> Ho provato dalla classe del form (class MyForm(formbase.PageForm):) a
> definire
> form_fields['prova'].field.default = self.context.portal_url()
> ma mi dice che non e' definito self..
>
> Qualche idea ?
> Grazie
> fc
>
> _______________________________________________
> Plone-IT mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>



_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Franco Carinato

Re: valore di default in formlib

Reply Threaded More More options
Print post
Permalink
Grazie Giovanni, credo di aver risolto.

ho creato all'interno della classe principale (che non conosceva self
e context) una classe update(self): (ho visto che funziona anche con
__call__(self): ) che ho visto viene chiamata quando effettivamente
sono nel contesto del portale e qui dentro sono riuscito a definire il
valore di default del campo con:
self.form_fields['prova'].field.default = unicode(self.context.getValore())

ciao
fc

2009/9/15 Giovanni Toffoli <[hidden email]>:

> Franco,
>
> ma il tuo codice sembra non sia all'interno di un metodo.
>
> Io proverei a
> - ridefinire il metodo setUpWidgets di MyForm
> - al suo interno eseguire prima l'omonimo metodo della superclass
> formbase.PageForm
> - effettuare poi l'override del valore iniziale del widget, con un codice
> del tipo
> self.widgets['prova'].value = ...
> supponendo che i widget abbiano un attributo value, cosa che ipotizzo ma non
> so assolutamente.
>
> Ciao, Giovanni
>
> ----- Original Message ----- From: "Franco Carinato" <[hidden email]>
> To: "La lista degli italiani appassionati di Plone."
> <[hidden email]>
> Sent: Tuesday, September 15, 2009 1:17 PM
> Subject: [Plone-IT] valore di default in formlib
>
>
>> Sto provando ad utilizzare formlib per la creazione di un form in plone3.
>> Vorrei popolare di default un campo del form con un valore preso
>> dinamicamente dal portale, es self.context.portal_url()
>> ma non trovo come passare al form questo valore..
>> Ho provato dalla classe del form (class MyForm(formbase.PageForm):) a
>> definire
>> form_fields['prova'].field.default = self.context.portal_url()
>> ma mi dice che non e' definito self..
>>
>> Qualche idea ?
>> Grazie
>> fc
>>
>> _______________________________________________
>> Plone-IT mailing list
>> [hidden email]
>> http://lists.plone.org/mailman/listinfo/plone-it
>> http://www.nabble.com/Plone---Italy-f21728.html
>>
>
>
>
> _______________________________________________
> Plone-IT mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>

_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html
Yuri-14

Re: valore di default in formlib

Reply Threaded More More options
Print post
Permalink
In reply to this post by Franco Carinato
Franco Carinato ha scritto:
> Sto provando ad utilizzare formlib per la creazione di un form in plone3.
> Vorrei popolare di default un campo del form con un valore preso
> dinamicamente dal portale, es self.context.portal_url()
> ma non trovo come passare al form questo valore..
> Ho provato dalla classe del form (class MyForm(formbase.PageForm):) a definire
> form_fields['prova'].field.default = self.context.portal_url()
> ma mi dice che non e' definito self..
>  

Potrebbe perché sei in una viewlet? mi sa che devi usare context per
avere self, credo.

> Qualche idea ?
> Grazie
> fc
>
> _______________________________________________
> Plone-IT mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>  


--
Yuri Carrer

 CAB - Centro di Ateneo per le Biblioteche, Università di Padova
 Tel: 049/827 3615 - Via Anghinoni, 3 - Padova


_______________________________________________
Plone-IT mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html