E ae, Felipe, então me passa como está q vou tentar consertar, ok?
Conseguindo eu aviso aqui.

Abraço
Marcos Nassif

2008/9/25 Felipe Toscano <[EMAIL PROTECTED]>

> Fala Marcos, consegui fazer funcionar com o ultimo codigo postado... so que
> ainda não esta 100% pois quando salvo e entro em edição denovo os valores
> não estão voltando. ja ate perguntei aqui no forum o que pode estar
> acontecendo mas niguem ainda não me respondeu...
>
> Aproveitando mais uma o e-mail, gostaria de reforçar, se alguem souber como
> corrigo este codigo para que ele volte os valores "selected" me avisem...
>
> Abraço!
>
> 2008/9/25 Marcos Henrique Nassif de Alencar <[EMAIL PROTECTED]>
>
> Felipe, estou fazendo o portal da justiça eleitoral e estou precisando de
>> um produto com as características do MasterSelectWidget, vc conseguiu fazer
>> funcionar ? Tem como me passar seu código.
>>
>> Obrigado
>> Marcos Nassif
>>
>> 2008/9/12 Felipe Toscano <[EMAIL PROTECTED]>
>>
>>>   Galera consegui fazer o MasterSelectWidget FUNCIONAR!!!
>>> EHAIUHEAIUHEAIUE.... so to com um pequeno probleminha....
>>>
>>> Eu faço as atribuições de valores nos selections feitos com o
>>> MasterSelectWidget, blz ele salva e tudo bem! Mas quando entro para editar o
>>> MASTER pega o valor salvo mas o SLAVE não pega... o que pode ser ??? sera
>>> que definir o vocabulario errado?? ou tem algum parametro faltando no
>>> produto (Bug)... Estou passando o codigo que eu fiz, e se encontrarem alguma
>>> coisa estranha ou uma forma melhor para fazer, você me passam...
>>>
>>> *CODIGO:*
>>>
>>> StringField(
>>>         name='vinculo',
>>>         widget=MasterSelectWidget(label='Vínculo',
>>>                                       description='Informe o vínculo do
>>> profissional com o MDS.',
>>>                                       slave_fields = ({'name':'tp_vinc',
>>>                                                        'action':
>>> 'vocabulary',
>>>                                                        'vocab_method':
>>> 'getSlavesClassificacao',
>>>                                                        'control_param':
>>> 'master'},
>>>                                                        {'name':
>>> 'tp_vinc',
>>>                                                         'action': 'hide',
>>>                                                         'hide_values':
>>> (''),
>>>                  },)
>>>                                 ),
>>>         required=1,
>>>         schemata="Vínculo",
>>>         vocabulary='getVinculos',
>>>         searchable=1,
>>>         enforceVocabulary=1
>>>     ),
>>>
>>>     StringField(
>>>         name='tp_vinc',
>>>         widget=SelectionWidget(
>>>             label="Classificação",
>>>             description="Informe a classificação do vínculo.",
>>>             format="select",
>>>             label_msgid='SGRH_label_tp_vinc',
>>>             description_msgid='SGRH_help_tp_vinc',
>>>             i18n_domain='SGRH',
>>>         ),
>>>         required=1,
>>>         schemata="Vínculo",
>>>         vocabulary='getClassificacao',
>>>         searchable=1,
>>>         enforceVocabulary=1
>>>     ),
>>>
>>>
>>> *Definições*
>>>
>>> def getVinculos(self):
>>>         """Retorna a lista de vínculos."""
>>>         portal_sgrh = getToolByName(self, 'portal_sgrh')
>>>         result = [["","Selecione um Vínculo"]]
>>>         vocabulary = portal_sgrh.getVocab_vinculo()
>>>         for item in vocabulary:
>>>             idd = item.get('id')
>>>             valor = item.get('valor')
>>>             result.append([idd, valor])
>>>         return DisplayList(tuple(result))
>>>
>>>     security.declarePublic('getSlavesClassificacao')
>>>     def getSlavesClassificacao(self,master):
>>>         portal_sgrh = getToolByName(self, 'portal_sgrh')
>>>         result = [["","Selecione uma Classificação"]]
>>>         vocabulary = portal_sgrh.getVocab_classificacao()
>>>         if master == "":
>>>             pass
>>>         for item in vocabulary:
>>>             vinculo = item.get('vinculo')
>>>             if master == vinculo:
>>>                 idd = item.get('id')
>>>                 valor = item.get('valor')
>>>                 result.append([idd, valor])
>>>         return DisplayList(tuple(result))
>>>
>>>
>>>
>>> 2008/9/9 Felipe Toscano <[EMAIL PROTECTED]>
>>>
>>>  Cara to tentando impor um dependência assim:
>>>>
>>>> quando o cara selecionao valor "Terceirizado" no selection "VINCULO"
>>>> quero que no selection "CLASSIFICAÇÃO" ele utilize o vocabulário no
>>>> "getClassTerceirizado".
>>>>
>>>> Ou
>>>>
>>>> quando o cara seleciona o valor "Servidor" no selection "VINCULO" quero
>>>> que no selection "CLASSIFICAÇÃO" ele utilize o vocabulário no
>>>> "getClassServidor".
>>>>
>>>>
>>>> Eu fiz desta forma que encontrei de exemplo na net, mas o mesmo estava
>>>> incompleto...
>>>>
>>>>
>>>> *WIDGETS*
>>>>
>>>> StringField(
>>>>         name='vinculo',
>>>>         #widget=SelectionWidget(
>>>>             #label="*Vínculo*",
>>>>             #description="Informe o vínculo do profissional com o MDS.",
>>>>             #format="select",
>>>>             #label_msgid='SGRH_label_vinculo',
>>>>             #description_msgid='SGRH_help_vinculo',
>>>>             #i18n_domain='SGRH',
>>>>         #),
>>>>         widget=MasterSelectWidget(label='Vínculo',
>>>>                                       description='Informe o vínculo do
>>>> profissional com o MDS.',
>>>>                                       slave_fields = ({'name':'tp_vinc',
>>>>                                                        'action':
>>>> 'vocabulary',
>>>>                                                        'vocab_method':
>>>> 'getTypeClassificacao',
>>>>                                                        'control_param':
>>>> 'master'},)
>>>>                                 ),
>>>>         required=1,
>>>>         schemata="Vínculo",
>>>>         vocabulary='getVinculos',
>>>>         searchable=1,
>>>>         enforceVocabulary=1
>>>>     ),
>>>>
>>>>     StringField(
>>>>         name='tp_vinc',
>>>>         widget=SelectionWidget(
>>>>             label="*Classificação*",
>>>>             description="Informe a classificação do vínculo.",
>>>>             format="select",
>>>>             label_msgid='SGRH_label_tp_vinc',
>>>>             description_msgid='SGRH_help_tp_vinc',
>>>>             i18n_domain='SGRH',
>>>>         ),
>>>>         required=1,
>>>>         schemata="Vínculo",
>>>>         #vocabulary='getTypeClassificacao',
>>>>         searchable=1,
>>>>         enforceVocabulary=1
>>>>     ),
>>>>
>>>>
>>>>
>>>> *DEFINIÇÕES*
>>>>
>>>>
>>>>     def getVinculos(self):
>>>>         """
>>>>         """
>>>>         return DisplayList((
>>>>                             ["", "Selecione um Vínculo"],
>>>>                             ["terceirizado", "Terceirizado"],
>>>>                             ["servidor", "Servidor"],
>>>>                           ))
>>>>
>>>>
>>>>     def getClassTerceirizado(self):
>>>>         """
>>>>         """
>>>>         return DisplayList((
>>>>                             ["consultor", "Consultor"],
>>>>                             ["informatica", "Informática"],
>>>>                           ))
>>>>
>>>>     def getClassServidor(self):
>>>>         """
>>>>         """
>>>>         return DisplayList((
>>>>                             ["pgpe", "PGPE"],
>>>>                             ["pss", "PSS"],
>>>>                             ["cedido", "Cedido"],
>>>>                           ))
>>>>
>>>>
>>>>     security.declarePublic('getTypeClassificacao')
>>>>     def getTypeClassificacao(self,master):
>>>>         """
>>>>         """
>>>>         if (master in ('terceirizado')): vocab = getClassTerceirizado
>>>>         if (master in ('servidor')): vocab = getClassServidor
>>>>         return vocab
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2008/9/9 Davi Medeiros <[EMAIL PROTECTED]>
>>>>
>>>>   Infelizmente não tenho à mão. Veja se acha no Google ou coloca aqui a
>>>>> parte do código onde você tá emperrando (copie o código do demo e vá
>>>>> modificando).
>>>>>
>>>>> Abraço,
>>>>> Davi
>>>>>
>>>>>
>>>>> --- Em zope-pt@yahoogrupos.com.br <zope-pt%40yahoogrupos.com.br>,
>>>>> "Felipe Toscano"
>>>>> <[EMAIL PROTECTED]> escreveu
>>>>> >
>>>>> > Ja olhei a documentação, mas ainda não consegui aplicar no meu
>>>>> produto, se
>>>>> > você tiver mais alguns exemplos alem do demo que você ja tenha
>>>>> aplicado em
>>>>> > algum produto, poooo vai me ajudar pra caramba... você tem ???
>>>>> >
>>>>> > 2008/9/9 Davi Medeiros <[EMAIL PROTECTED]>
>>>>> >
>>>>> > > Felipe, a documentação que acompanha o produto é muito boa,
>>>>> inclusive
>>>>> > > vem com um Demo, que cairá como uma luva para sua necessidade.
>>>>> > >
>>>>> > > []s
>>>>> > > Davi Lima
>>>>> > >
>>>>> > > --- Em zope-pt@yahoogrupos.com.br 
>>>>> > > <zope-pt%40yahoogrupos.com.br><zope-pt%
>>>>> 40yahoogrupos.com.br>,
>>>>> "Felipe
>>>>> > > Toscano"
>>>>> > > <felipe.toscano@> escreveu
>>>>> > >
>>>>> > > >
>>>>> > > > Fala ae pessoal,
>>>>> > > >
>>>>> > > > Estou fazendo um produto de Rh, e gostaria de impor uma
>>>>> dependência nas
>>>>> > > > widget de selection. Pesquisei na net e vi que este produto
>>>>> > > > (MasterSelectWidget) faz esta necessidade, porem não entendi como
>>>>> > > aplica-lo.
>>>>> > > >
>>>>> > > > Gostaria de fazer com que um selection "Vinculo" que tem como
>>>>> opções
>>>>> > > > "terceirizado" e "servidor", quando selecionado a opção
>>>>> "terceirizado" o
>>>>> > > > outro selection que vem logo abaixo traga o vocabulario referente
>>>>> as
>>>>> > > > classificações de "terceirizado" ou se eu selecionar "servidor",
>>>>> no
>>>>> > > > selection abaixo traga so o vocabulario referente a classificação
>>>>> de
>>>>> > > > servidor.
>>>>> > > >
>>>>> > > > Alguem ja utilizou este produto???
>>>>> > > >
>>>>> > > > Poderia me passar algum codigo de exemplo ??
>>>>> > > >
>>>>> > > > Att..
>>>>> > > >
>>>>> > > > Felipe Toscano
>>>>> > > >
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Felipe Toscano
>>>>> >
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Felipe Toscano
>>>>
>>>
>>>
>>>
>>> --
>>> Felipe Toscano
>>>  
>>>
>>
>>
>>
>> --
>> Marcos Nassif
>>
>
>
>
> --
> Felipe Toscano
>



-- 
Marcos Nassif

Responder a