Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
6695 Lượt xem

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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"/>

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 6 24
442
1
thg 2 16
4911
1
thg 4 24
581
1
thg 9 23
2237
2
thg 9 24
13346