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'
)