I have a wizard which, after a process, returns a list of one2many objects. I would like to identify when the user clicks into one of the items in the list and trigger a method in the class to identify which item the user has selected.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
You can use onchange event. Define onchange function in object(like in account):
def onchange_journal_id(self, cr, uid, ids, journal_id, context=None): company_id = False if journal_id: journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context) if journal.company_id.id: company_id = journal.company_id.id return {'value': {'company_id': company_id}}
And define call of function in form view XML definition:
<field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" widget="selection"/>
I assume you are searching about which action is launched.
A button is defined in xml like this:
<button name="reconcile" string="Reconcile" type="object" class="oe_highlight"/>
The name
specifies which action will be triggered.
In that exemple from account_automatic_reconcile
wizard it will trigger the wizard account_automatic_reconcile.reconcile()
method.
You could wrap this method call by adding a counter in python.
Otherwise, you can perhaps use some javascript.
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
6月 24
|
442 | ||
|
1
2月 16
|
4841 | ||
|
1
4月 24
|
581 | ||
|
1
9月 23
|
2180 | ||
|
2
9月 24
|
13283 |