Элемент Odoo 11 '<page name = “extra_info”>' не может быть расположен в родительском представлении

1

Я пытаюсь/изучаю Odoo 11. Меня интересует только модуль Projects, но я устанавливаю CRM, Repair и многие другие, чтобы посмотреть, что они делают. Ошибка при попытке удалить их, и я получаю следующую трассировку:

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 971, in _validate_fields
    check(self)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 316, in _check_xml
    view_def = view.read_combined(['arch'])
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 700, in read_combined
    arch = self.apply_view_inheritance(arch_tree, root.id, self.model)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 649, in apply_view_inheritance
    source = self.apply_inheritance_specs(source, specs_tree, view_id)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 627, in apply_inheritance_specs
    self.raise_view_error(_("Element '%s' cannot be located in parent view") % tag, inherit_id)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 489, in raise_view_error
    raise ValueError(message)
ValueError: Element '<page name="extra_info">' cannot be located in parent view

Error context:
View 'project.task.form.view'
[view_id: 1190, xml_id: n/a, model: project.task, parent_id: 440]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 741, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 651, in _tag_record
    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1467, in _update
    record = record.create(values)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 384, in create
    return super(View, self).create(self._compute_defaults(values))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3289, in create
    self._fields[key].determine_inverse(record)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1045, in determine_inverse
    getattr(records, self.inverse)()
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 253, in _inverse_arch
    view.write(data)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 400, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3011, in write
    self._write(old_vals)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3164, in _write
    self._validate_fields(vals)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 975, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating constraint\n\nElement \'<page name="extra_info">\' cannot be located in parent view\n\nError context:\nView 'project.task.form.view'\n[view_id: 1190, xml_id: n/a, model: project.task, parent_id: 440]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 648, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 309, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 685, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 341, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 334, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 929, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 514, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 920, in call_button
    action = self._call_kw(model, method, args, {})
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 908, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 689, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 680, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/wizard/base_module_uninstall.py", line 55, in action_uninstall
    return modules.button_immediate_uninstall()
  File "<decorator-gen-42>", line 2, in button_immediate_uninstall
  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 70, in check_and_log
    return method(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 555, in button_immediate_uninstall
    return self._button_immediate_function(type(self).button_uninstall)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 530, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 84, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 341, in load_modules
    loaded_modules, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 240, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 156, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 94, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 788, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 849, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 748, in parse
    exc_info[2]
  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 85, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 741, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 651, in _tag_record
    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1467, in _update
    record = record.create(values)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 384, in create
    return super(View, self).create(self._compute_defaults(values))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3289, in create
    self._fields[key].determine_inverse(record)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1045, in determine_inverse
    getattr(records, self.inverse)()
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 253, in _inverse_arch
    view.write(data)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 400, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3011, in write
    self._write(old_vals)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3164, in _write
    self._validate_fields(vals)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 975, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint

Element '<page name="extra_info">' cannot be located in parent view

Error context:
View 'project.task.form.view'
[view_id: 1190, xml_id: n/a, model: project.task, parent_id: 440]
None" while parsing /usr/lib/python3/dist-packages/odoo/addons/task_check_list/views/project_task_view.xml:4, near
<record model="ir.ui.view" id="view_task_form2_inherit_form_view">
        <field name="name">project.task.form.view</field>
        <field name="model">project.task</field>
        <field name="inherit_id" ref="project.view_task_form2"/>
        <field name="arch" type="xml">
            <page name="extra_info" position="after">
                <page name="checklist" string="Checklist">
                    <group>
                        <group string="Checklist">
                            <field name="task_checklist" widget="many2many_checkboxes"/>
                        </group>
                        <group string="Completed">
                            <field name="checklist_progress" widget="percentpie"/>
                        </group>
                    </group>
                </page>
            </page>
        </field>
    </record>

Я не разработчик python, и я еще не понял понимания внутренней структуры Odoo или OpenERP, чтобы действительно что-то исправить. Единственное, что я сделал, это добавить поле date_start в date_start → Task box в представлении канбана через внутренний редактор Odoo.

Я уже читал аналогичный вопрос здесь и о Reddit, но он меня нигде не доставил.

  • 0
    Модуль task_check_list не является стандартным модулем Odoo. Сообщите создателю модуля о проблеме, и, возможно, они могут предоставить решение.
  • 0
    @GeorgeDaramouskas По некоторым причинам, форум сообщества Odoo просто не позволяет мне публиковать там сообщения.
Теги:
odoo
odoo-11

1 ответ

1
Лучший ответ

Иногда удаление может быть беспорядочным. Представления Odoo могут быть унаследованы и расширены выражениями XPath (прямо и косвенно).

Как-то вы удалили модуль, определение вида для модели project.task зависит от другого представления, которое должно быть удалено при удалении модуля.

Вы здесь не ошиблись, но сам Оду, удалив модули либо неправильным порядком, либо просто зависимость от модуля в любом месте приложений/модулей проекта.

Попробуйте отменить удаление модуля/приложения (вы должны открыть каждый модуль и нажать эту кнопку...), а затем удалить модуль task_check_list, откуда эта ошибка.

  • 0
    В списке установленных приложений нет модуля с именем task_check_list , по крайней мере, ничего, что подразумевало бы функциональность контрольного списка для задач.
  • 0
    Ошибка говорит мне, что есть: while parsing /usr/lib/python3/dist-packages/odoo/addons/task_check_list/views/project_task_view.xml
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню