je joins la classe qui fonctionne avec un attribut selection mais pas 
Many2One. Quelle est l'erreur ?
@+

Le samedi 25 janvier 2014 11:17:33 UTC+1, Pascal Obstetar a écrit :
>
> ben non j'ai justement vérifié ce type d'erreur !
>
> Le vendredi 24 janvier 2014 23:01:33 UTC+1, Pascal Obstetar a écrit :
>>
>> J'ai un champ 'etat' en Many2One qui contient deux items ('opposable' et 
>> 'annule').
>> J'ai un champ 'dateReg' de type Date dont l'attribut states={'required': 
>> Equal(Eval('etat'), 'opposable')}
>> Or que 'etat' soit 'opposable' ou 'annule' le champ 'dateReg' ne change 
>> pas de couleur passage du blanc (facultatif) au bleu (obligatoire) ? un bug 
>> ?
>>
>
EtatDocumentType = [
    ('01', u'En projet'),
    ('03', u'Opposable'),
    ('04', u'Annul?'),
    ('05',u'Remplac?'),
    ('06',u'Abrog?'),
]

class code(ModelSQL, ModelView):
    u'Code'
    __name__ = 'urba.code'
    _rec_name = 'name'

    code = fields.Char(
            string = u'Code',
            required = False,
            readonly = False,
        )

    name = fields.Char(
            string = u'Short name of code',
            required = False,
            readonly = False,
        )

    lib_long = fields.Char(
            string = u'Label of code',
            required = False,
            readonly = False,
        )

### ci-dessous ?a fonctionne

class DocumentUrba(ModelSQL, ModelView):
    u'Document Urbanisme'
    __name__ = 'urba.documenturba'
    _rec_name = 'idDocumentUrba'

    idDocumentUrba = fields.Char(
            string=u'idDocumentUrba',
            help=u'idDocumentUrba',
            required=True,
        )

    etat = fields.Selection(
            EtatDocumentType,
            string=u'?tat',
            help=u'?tat',
            required = True,
        )

    dateApprobation = fields.Date(
            string=u'Approbation',
            help=u'Date d approbation',
            states={'required': Equal(Eval('etat'), '03')},
        )

### ci-dessous cela ne fonctionne pas

class DocumentUrba(ModelSQL, ModelView):
    u'Document Urbanisme'
    __name__ = 'urba.documenturba'
    _rec_name = 'idDocumentUrba'

    idDocumentUrba = fields.Char(
            string=u'idDocumentUrba',
            help=u'idDocumentUrba',
            required=True,
        )

    etat = fields.Many2One(
            'urba.code',
            string=u'?tat',
            help=u'?tat',
            required = True,
        )

    dateApprobation = fields.Date(
            string=u'Approbation',
            help=u'Date d approbation',
            states={'required': Equal(Eval('etat'), '03')}, ## o? l'attribut name de la classe urba.code contient un enregistrement contenant le texte '03'
        )

Répondre à