跳至内容
菜单
此问题已终结
8 回复
12212 查看

Dear all

I would want to have the same behavior as when you click on

Sale > Customers > Create (> the customer checkbox for the partner is automatically selected)

Or

Purchase > Suppliers > Create (> the supplier checkbox for the partner is automatically selected)

I added a new checkbox "Doctor" to partner, and I would want to set it as default if I click "Create" at my new menu at Medical.

Medical > Doctor > Create (> the doctor checkbox should be checked)

Thank you in advance

Best regards!

形象
丢弃
最佳答案

you should set it's default value to True, then the checkbbox will appear selected in new object

形象
丢弃
编写者

Hello Temur, I want it to set doctor = True only if I create a new partner from my new menuitem action.

ok then. in such case you can set default value for doctor field using function. my answer is still valid in this conditions.

you can implement function that assigns default value as follows:

def compute_default_value_of_doctor(self):
    return self.env.context.get('doctor_default', False)

in your action set 'doctor_default' in context....

of course you've to add

default=compute_default_value_of_doctor
to your "Doctor" fields definition.
编写者

Works great! Thank you!

编写者 最佳答案

This solution worked as Temur said at the comments: 

def compute_default_value_of_doctor(self):
return self.env.context.get('doctor_default', False)

# Fields
doctor = fields.Boolean(string='Is doctor?', default=compute_default_value_of_doctor)

For the specific action view for the doctor menuitem add this:

<field name="context">{"default_doctor": True}</field>

Update: There is no need to write the python code, just add "default_" at the context field before the name of the attribute and it will work.

Regards!

形象
丢弃

upvote for the "default_" prefix ;)

相关帖文 回复 查看 活动
1
11月 23
2325
2
9月 23
5695
1
7月 20
3860
3
7月 25
4112
0
5月 25
802