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

Responder a