Re: [zope-pt] (Coisas estranhas quando) redefinindo description em um novo tipo

2010-04-28 Por tôpico Luciano Pacheco
Olá Diego,

2010/4/28 Diego Rubert 

>
> Olá pessoal!
>
>  Estou escrevendo um produto, com um tipo chamado "Portaria". E algo
> assustador acontece quando eu redefino o campo description (também acontece
> com o title)
>
>  Adicionei alguns itens "Portaria" (cada um com uma descrição diferente), e
> quando fui olhar no site, a descrição estava igual à da pasta pai... E mais
> estranho ainda: usando o pdb, percebi que diferentes métodos retornam
> diferentes descrições:
>
>
> (Pdb) portaria_item.description
> 'minha descrição do item portaria'
>

Aqui você tá usando o attributo description direto, isso não é recomendado.


>
> (Pdb) portaria_item.Description()
> 'descricao da pasta pai'
>

Aqui você está usando o accessor do campo description original.


>
> (Pdb) portaria_item.getDescription()
> 'minha descrição do item portaria'
>

Aqui você está usando o accessor do campo description que você criou.


>
> Alguma idéia? Um pouco do código abaixo:
>
>
> content/portaria.py
>
>
> .
> .
> .
> PortariaSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((
>
>atapi.TextField(
>'description',
>storage=atapi.AnnotationStorage(),
>widget=atapi.TextAreaWidget(
>label=_(u"Descri\xe7\xe3o"),
>description=_(u"Resumo da portaria"),
>),
>required=True,
>),
>

Aqui quando você faz:
schemata.ATContentTypeSchema.copy()

Você já copiou o campo description padrão dos tipos de conteúdos do
Archetype.

Depois você colocou mais um novo campo description no seu schema.

Ficando com 2 campos description no mesmo schema.

O accessor do Description do Archetype é o "Description()", já o que você
criou, por você não ter indicado o accessor, ele usou o padrão
getDescription.

A grande questão é: Porque você quer adicionar um campo description ? Só
para mudar o descrição do widget para "Resumo da portaria" ?

Você pode mudar isso assim:
PortariaSchema['description'].widget.description=_(u'Resumo da portaria')


> .
> ))
>
> PortariaSchema['description'].storage = atapi.AnnotationStorage()
>

Espero ter ajudado.

Até mais,
-- 
Luciano Pacheco
blog.lucmult.com.br


[zope-pt] (Coisas estranhas quando) redefinindo description em um novo tipo

2010-04-28 Por tôpico Diego Rubert

Olá pessoal!

 Estou escrevendo um produto, com um tipo chamado "Portaria". E algo
assustador acontece quando eu redefino o campo description (também acontece
com o title)

 Adicionei alguns itens "Portaria" (cada um com uma descrição diferente), e
quando fui olhar no site, a descrição estava igual à da pasta pai... E mais
estranho ainda: usando o pdb, percebi que diferentes métodos retornam
diferentes descrições:


(Pdb) portaria_item.description
'minha descrição do item portaria'

(Pdb) portaria_item.Description()
'descricao da pasta pai'

(Pdb) portaria_item.getDescription()
'minha descrição do item portaria'

Alguma idéia? Um pouco do código abaixo:


content/portaria.py


.
.
.
PortariaSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((

atapi.TextField(
'description',
storage=atapi.AnnotationStorage(),
widget=atapi.TextAreaWidget(
label=_(u"Descri\xe7\xe3o"),
description=_(u"Resumo da portaria"),
),
required=True,
),
.
.
.
))

PortariaSchema['description'].storage = atapi.AnnotationStorage()
.
.
.


 
Obrigado! 
-- 
View this message in context: 
http://plone-regional-forums.221720.n2.nabble.com/Coisas-estranhas-quando-redefinindo-description-em-um-novo-tipo-tp4977317p4977317.html
Sent from the Zope & Plone - Portugal/Brazil mailing list archive at Nabble.com.