Я работал над разработкой простого плагина Odoo 9 с использованием QWeb, и я столкнулся с проблемой, когда я не могу успешно зарегистрировать/вызвать действие из файла .js независимо от того, что я делаю.
Цель этого простого приложения — просто создать пункт меню со ссылкой, которая вызывает действие. Меню создается успешно, но каждый раз, когда я пытаюсь вызвать действие, я получаю следующую ошибку:
Файл Javascript пытается зарегистрировать действие под названием test.DoSomething
, используя следующий код:
openerp.test = function(instance, local) {
var _t = instance.web._t,
_lt = instance.web._lt;
instance.web.client_actions.add('test.DoSomething', 'instance.test.DoSomething');
instance.test.DoSomething = instance.web.Widget.extend({
start: function() {
console.log("Doing Something!!!!");
}
});
}
На это ссылается файл test.xml
, содержащий следующую разметку:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="assets_backend" name="test" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/testapp/static/src/js/test.js"/>
</xpath>
</template>
<menuitem id="main_testapp_menu" name="Test App" />
<menuitem id="testapp_menu" name="Test App"
parent="main_testapp_menu" />
<record id="action_home_page" model="ir.actions.client">
<field name="name">Test Home Page</field>
<field name="tag">test.DoSomething</field>
</record>
<menuitem id="home_page_menu" name="Home Page" parent="testapp_menu"
action="action_home_page"/>
</data>
</openerp>
Файл __openerp__.py
содержит это:
{
'name' : 'testapp',
'version': '1.0',
'summary': 'testapp',
'category': 'Tools',
'author': 'Test',
'description':
"""
TEST APP
====================
Simple test application for odoo
""",
'data': [
'test.xml'
],
'depends' : ['web'],
'application': True,
}
Есть ли более новый/другой способ регистрации действий в Odoo 9? Даже попытка примера кода из Odoo 8 приводит к аналогичным ошибкам.