Как в Odoo, щелкнув элемент древовидного представления, открыть связанную запись, занимающую все пространство документа, а не во всплывающем окне «новое»?

По умолчанию, когда вы щелкаете элемент древовидного представления в Odoo (находясь внутри формы другого документа), он открывает связанный документ как всплывающее окно вместо перехода к документу, заменяя содержимое `` текущего '' окна (которое ожидаемое поведение).

Я хотел бы воспроизвести то, что вы можете делать с окнами действий (то есть установить target: current), в древовидный список внутри моей формы, чтобы, когда я щелкаю любую из связанных записей в списке, я мог перейти к связанной запись занимает все текущее окно. Это можно сделать?

Спасибо.


person Erick Tejada    schedule 21.10.2016    source источник


Ответы (2)


Я не уверен, есть ли лучший способ достичь вашей цели. Я тоже разделил твою боль. Чтобы обойти это, я создаю функцию в целевой модели и добавляю кнопку в представление списка, чтобы активировать ее. Все, что делает функция, - это выполнение действия окна, открывающего запись, как вы описали.

@api.multi
def open_rec(self):
    return {
            'view_type': 'form',
            'view_mode': 'form',
            'res_model': 'addon.model',
            'res_id': self.id,
            'type': 'ir.actions.act_window',
            'target': 'current',
            'flags': {'form': {'action_buttons': True}}

    }

И везде, где объявлено ваше представление списка, вы можете добавить что-то вроде этого.

<tree>
    <field name="field1"/>
    <field name="field1"/>
    <field name="field1"/>
    <button name="open_rec" string="Open" type="object"/>
</tree>
person Phillip Stack    schedule 21.10.2016

Установите этот модуль https://www.odoo.com/apps/modules/8.0/web_tree_many2one_clickable/

затем добавьте виджет many2one_clickable в обязательные поля в древовидной структуре.

Например:

<field name="partner_id" widget="many2one_clickable" />
person Ahmegen    schedule 05.05.2017