تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
4764 أدوات العرض

Hello, 

I have created some new fields in the Partner module of odoo9. One of the new field is "ident"  that should ONLY show up when the partner type is a company: 

 <field name="ident" attrs="{'invisible':[('company_type', '=', 'person')]}" />

Works good so far: When I create new contact this modification works perfect. Also when I edit an existing contact it works


Here is the problem:

When I install my module on an fresh odoo instance with EXISTING contacts, I observe that when I want to edit this existing contact, the variable "ident" is shown although the contact is a person (not a company). 

Interesting: When I change the contact on the frontend to "company" and change it back to "person" (without saving the form) I see that the effect is correct. 

The problem is that when I have my module fresh installed and edit an existing contact, the variable does not behave as it should (being invisible on first edit of existing parter). After the first edit everything works out, but for a user that wants to install the module on his instance it could be confusing. 

Any ideas on how to load the right behavior on initial loading of the form?

Thanks


الصورة الرمزية
إهمال
أفضل إجابة

Hello,

Can you paste the company_type field [I think it is a selection]

Also you can try something like:


attrs="{'invisible':[('company_type', '!=', 'company')]}"
الصورة الرمزية
إهمال
أفضل إجابة

When review is select bad option category at a time invisible the field of description.


review = fields.Selection([('good', 'GOOD'),('bad', 'BAD')])

description=fields.Char(readonly=False)

<field name="review"/>

<field name="description" attrs="{'invisible': [('review', '!=', 'good')]}"/>

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Hi Ahmed, 

I tried both ways '!=' and '='. Both does not work :-(



الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
مارس 15
5838
1
يوليو 17
3113
1
يونيو 16
7167
3
فبراير 16
5892
2
فبراير 16
6133