Переопределить представление по умолчанию с помощью пользовательского модуля?

Есть ли способ переопределить представления openerp по умолчанию, разрабатывая модуль вместо того, чтобы делать это вручную из настроек/настройки/пользовательского интерфейса/представлений...?

Мы используем OpenERP и настраиваем множество представлений по умолчанию (Список проектов, Список счетов, Поиск счетов и т. д.), добавляя и скрывая поля из списка и поисковых фильтров/групп, мы делаем это вручную, просмотр за представлением из веб-клиента. Есть ли способ разработать модуль, в котором я могу написать xml для всех представлений, которые я хочу настроить, и когда я установлю этот модуль, все эти представления (и действия окна) будут обновлены?


person sluc23    schedule 31.07.2012    source источник


Ответы (3)


Вы можете использовать Наследование представлений для настройки любого представления с помощью XML-файлов.

Используя наследование, вы можете добавлять, удалять и заменять элементы в любом представлении. Вы также можете определить новые полные представления, чтобы заменить представление по умолчанию вместо наследования. Просто создайте новый модуль с XML-файлами, который настраивает или заменяет текущие представления, и загружайте этот модуль. Папка модуля должна содержать только файлы __init__.py, __openerp__.py и файлы XML.

Вот простой пример удаления поля EAN13 из представления продукта.


__init__.py пустой файл


__openerp__.py:

{
    "name" : "View Customization Test",
    "version" : "1.0",
    "category" : "Generic Modules/Inventory Control",
    'depends' : ['product',],
    "update_xml" : ["product.xml",],
    "installable": True,
    "active": True
}

product.xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
    <record model="ir.ui.view" id="view_product_form_custom">
      <field name="name">product.form.inherit2</field>
      <field name="model">product.product</field>
      <field name="inherit_id" ref="product.product_normal_form_view" />
      <field name="arch" type="xml">
        <field name="ean13" position="replace" />
      </field>
    </record>
  </data>
</openerp>
person Mohammad Alhashash    schedule 31.07.2012

Конечно, есть. Вы можете создать свой собственный модуль и установить его. См. основы в официальной документации. Вы также должны иметь под рукой Технический сувенир.

Это значительно упрощает разработку и тестирование в среде разработки, а затем копирование и установку в производственной среде.

person Daniel Reis    schedule 31.07.2012
comment
Спасибо за документ, очень полезно. Не знал, что этот документ существует. - person sluc23; 01.08.2012