Я недавно установил Odoo 9.0. Однако мне нужен модуль, доступный только для Odoo 8.0.Как преобразовать модуль Odoo 8 в Odoo 9
Мне было интересно, если можно применить незначительные изменения к этому модулю, чтобы сделать его совместимым с Odoo 9.0? Новый модуль просто календарь, который просто только с помощью веб-интерфейса: Link to the module
Здесь ошибка при
УСТАНОВКА ОБЪЕКТИВАOdoo Server Error
Traceback (most recent call last):
File "/odoo/odoo-server/openerp/http.py", line 643, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/openerp/http.py", line 680, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo-server/openerp/http.py", line 316, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/odoo-server/openerp/http.py", line 309, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo-server/openerp/http.py", line 959, in __call__
return self.method(*args, **kw)
File "/odoo/odoo-server/openerp/http.py", line 509, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo-server/addons/web/controllers/main.py", line 896, in call_button
action = self._call_kw(model, method, args, {})
File "/odoo/odoo-server/addons/web/controllers/main.py", line 884, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/addons/base/module/module.py", line 459, in button_immediate_install
return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/addons/base/module/module.py", line 533, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "/odoo/odoo-server/openerp/modules/registry.py", line 386, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/odoo/odoo-server/openerp/modules/loading.py", line 338, in load_modules
loaded_modules, update_module)
File "/odoo/odoo-server/openerp/modules/loading.py", line 237, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/odoo/odoo-server/openerp/modules/loading.py", line 156, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/odoo/odoo-server/openerp/modules/loading.py", line 98, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/odoo/odoo-server/openerp/tools/convert.py", line 851, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/odoo/odoo-server/openerp/tools/convert.py", line 938, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/odoo/odoo-server/openerp/tools/convert.py", line 801, in parse
self.parse(rec, mode)
File "/odoo/odoo-server/openerp/tools/convert.py", line 804, in parse
self._tags[rec.tag](self.cr, rec, de, mode=mode)
File "/odoo/odoo-server/openerp/tools/convert.py", line 777, in _tag_template
return self._tag_record(cr, record, data_node)
File "/odoo/odoo-server/openerp/tools/convert.py", line 708, in _tag_record
id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/addons/base/ir/ir_model.py", line 1142, in _update
res_id = model_obj.create(cr, uid, values, context=context)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/addons/base/ir/ir_ui_view.py", line 351, in create
context=context)
File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/api.py", line 354, in old_api
result = method(recs, *args, **kwargs)
File "/odoo/odoo-server/openerp/models.py", line 4151, in create
record = self.browse(self._create(old_vals))
File "/odoo/odoo-server/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/api.py", line 490, in new_api
result = method(self._model, cr, uid, *args, **old_kwargs)
File "/odoo/odoo-server/openerp/models.py", line 4342, in _create
recs._validate_fields(vals)
File "/odoo/odoo-server/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/odoo/odoo-server/openerp/models.py", line 1271, in _validate_fields
raise ValidationError('\n'.join(errors))
ParseError: "Invalid view definition
Error details:
Element '<xpath expr="//script[@src='/web/static/src/js/formats.js']">' cannot be located in parent view
Error context:
View `persian_calendar`
[view_id: 853, xml_id: n/a, model: n/a, parent_id: 159]
None" while parsing None:6, near
<data inherit_id="web.assets_backend">
<xpath expr="//script[@src='/web/static/src/js/formats.js']" position="replace">
<script type="text/javascript" src="/persian_calendar/static/src/js/formats.js"/>
</xpath>
</data>
Odoo 8 и 9 использует один и тот же api, если модуль находится в Api 8, он должен работать в 9, то есть, если этот модуль использует api 7 (работает в 8), он не будет работать в 9. Что вы должны делать изменяет функции/поля api 7 на 8. – dccdany
И, честно говоря, он может даже работать со старым api. Единственное, что может сломаться, это то, что если он наследует базовый модуль, который изменил odoo для odoo 9, вам, возможно, придется изменить эту функцию. – dccdany
@dccdany. Тогда как этот модуль не может быть установлен на Odoo 9? Это может быть модуль Odoo 7, в отличие от спецификации. В таком случае, должен ли я задать другой вопрос о том, как конвертировать из O7 в O9? – orezvani