Openerp act_window открывает новое окно, но основной клиент исчезает

Я создаю клиентский модуль openerp, который в древовидном представлении имеет кнопку для каждой записи, при нажатии на которую будет запущено действие act_window и откроется новое всплывающее окно, но в то же время основной клиент gtk исчез (остаются только всплывающие окна). Также я установил «цель» на «новый», но все тот же. Есть идеи?

клиент: gtk-6.0.3 на окнах

сервер: 6.0.2 на дебиан 2.6.32

xml выглядит так:

<field name="type">tree</field>
<field name="arch" type="xml">
    <tree string="Field Schema">
        <field name="field_name" />
        <field name="field_type" />
        <button name="edit" type="object" string="View and Edit" icon="gtk-go-forward" />
    </tree>
</field>

и функция редактирования для запуска выглядит так:

def edit(self, cr, uid, ids, context=None):
    obj_name = some_fn_dynamic_get_obj_name_from_ids(ids)
    obj = self.pool.get(obj_name)
    if not obj:
        raise osv.except_osv('not supported')
    res_id = obj.create(....)
    ...
    return {
        'type': 'ir.actions.act_window',
        'name': 'View and Edit',
        'view_mode': 'form',
        'view_type': 'form',
        'res_model': obj_name,
        'res_id': res_id,
        'target': 'new',
        'context': context,
    }

Обновлено: после отладки исходного кода клиента я, наконец, обнаружил, что: я делаю опечатку: nodestory, где правильным должно быть nodestroy

    return {
        'type': 'ir.actions.act_window',
        ...
        'context': context,
        'nodestroy': True,
    }

T_T


person jayven    schedule 19.04.2012    source источник


Ответы (2)


Я не вижу ничего явно неправильного. Атрибут target обсуждается в книге для разработчиков. . Единственное, что я могу предложить, это поискать в исходном коде примеры, в которых используется атрибут target, и посмотреть, чем они отличаются от ваших.

person Don Kirkby    schedule 19.04.2012
comment
Я проверил источник нескольких дополнений, но не нашел никаких различий. Также я тестировал gtk-client-6.1-win и web-6.0.3-client, клиент gtk всегда имеет одну и ту же проблему. Но веб-клиент в порядке. - person jayven; 20.04.2012
comment
Есть ли у других дополнений та же проблема, что и у вашего кода? Если нет, вы можете проделать старый трюк, медленно устраняя все различия между двумя наборами кода. Это медленно, но эффективно. - person Don Kirkby; 20.04.2012

Чтобы клиент не исчезал, нужно добавить: 'nodestroy': True,

person jordg    schedule 18.10.2012