コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
6684 ビュー

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
4894
1
4月 24
581
1
9月 23
2218
2
9月 24
13324