Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget

2006-06-14 Por tôpico Fabiano Marcon
Grande Dorneles,

Funcionou como esperado.

Muito Obrigado!
Fabiano Marcon

Dorneles Treméa escreveu:
 Oi Marcon,

   se não me falha a memória dá pra fazer da seguinte forma:
  
 condition=python:template.getId() == 'base_view' and 
 here.umMetodo()
  
   Não é algo muito elegante, mas acredito que deu para pegar a idéia.
 
  Tentei fazer desta forma mas retorna um NameError dizendo que template
  não é definido.

 pois é, falhou a memória... :-/

 Dando uma sapeada nos templates que chamam o testCondition, deu pra
 perceber que a chamada é feita usando:

   field.widget.testCondition(here, portal, template)

 Porém, na definição do testCondition temos:

   def testCondition(self, folder, portal, object):

 Resumo da ópera, quando usares 'object' estarás se referenciando ao
 'template' (duh!). Testa algo como:

   condition=python:object.getId() == 'base_view'...

 HTH,

 -- 

 Dorneles Treméa
 X3ng Web Technology
  



Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget

2006-06-12 Por tôpico Dorneles Treméa
Oi Marcon,

  se não me falha a memória dá pra fazer da seguinte forma:
 
condition=python:template.getId() == 'base_view' and here.umMetodo()
 
  Não é algo muito elegante, mas acredito que deu para pegar a idéia.

 Tentei fazer desta forma mas retorna um NameError dizendo que template
 não é definido.

pois é, falhou a memória... :-/

Dando uma sapeada nos templates que chamam o testCondition, deu pra
perceber que a chamada é feita usando:

  field.widget.testCondition(here, portal, template)

Porém, na definição do testCondition temos:

  def testCondition(self, folder, portal, object):

Resumo da ópera, quando usares 'object' estarás se referenciando ao
'template' (duh!). Testa algo como:

  condition=python:object.getId() == 'base_view'...

HTH,

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget

2006-06-09 Por tôpico Fabiano Marcon
Oi Dorneles,
 acredito que você consiga o mesmo resultado usando 'condition=...

 O example4 do produto da palestra[1] da PyConBrasil mostra como usar
 isso. O widget é renderizado apenas quando a expressão for verdadeira.
O problema é que preciso esconder o widget somente na visualização, na 
edição ele deve aparecer.
A não ser que exista uma forma de verificar em qual view o objeto esteja 
aparecendo, daí poderia testar isso e não mostrar se ele está sendo 
mostrado pela base_view. Existe como testar a view que ele está sendo 
renderizado?

Obrigado
Fabiano Marcon



Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget

2006-06-09 Por tôpico Dorneles Treméa
Marcon,

  O example4 do produto da palestra[1] da PyConBrasil mostra como usar
  isso. O widget é renderizado apenas quando a expressão for verdadeira.

 O problema é que preciso esconder o widget somente na visualização, na
 edição ele deve aparecer.
 A não ser que exista uma forma de verificar em qual view o objeto esteja
 aparecendo, daí poderia testar isso e não mostrar se ele está sendo
 mostrado pela base_view. Existe como testar a view que ele está sendo
 renderizado?

se não me falha a memória dá pra fazer da seguinte forma:

  condition=python:template.getId() == 'base_view' and here.umMetodo()

Não é algo muito elegante, mas acredito que deu para pegar a idéia.

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [zope-pt] Variar o conteúdo do valor do visible de um Widget

2006-06-08 Por tôpico Dorneles Treméa
Opa Marcon,

 Preciso variar a visibilidade de um widget do archetypes e ainda não
 encontrei como fazer isso.
 
 O que preciso fazer é que no valor do widget 'visible' ao invés de
 colocar um dicionário fixo como {'edit':visible,'view':'invisible'}eu
 coloque uma expressão que retorna um dicionário.
 
 Esta expressão irá testar uma condição e conforme esta condição irá
 retornar:
 {'edit':visible,'view':_'invisible'_}
  ou
 {'edit':visible,'view':_'visible'_}

acredito que você consiga o mesmo resultado usando 'condition=...

O example4 do produto da palestra[1] da PyConBrasil mostra como usar
isso. O widget é renderizado apenas quando a expressão for verdadeira.

Testa aí.

[1] http://pyconbrasil.com.br/downloads/apresentacoes/archetypes-o-bagulho-e-bom

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html