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

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.

形象
丢弃
最佳答案

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