- Error:
- Odoo Server Error
- Traceback (most recent call last):
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 392, in _check_xml
- self.postprocess_and_fields(view.model, view_doc, view.id)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 931, in postprocess_and_fields
- self.raise_view_error(_('Model not found: %(model)s') % dict(model=model), view_id)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 592, in raise_view_error
- raise ValueError(message)
- ValueError: Modelo no encontrado: openacademy.course
- Contexto del error:
- Vista `course.form`
- [view_id: 678, xml_id: n/a, model: openacademy.course, parent_id: n/a]
- 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 713, in parse
- self._tag_root(de)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 675, in _tag_root
- f(rec)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 578, in _tag_record
- record = model._load_records([data], self.mode == 'update')
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 4070, in _load_records
- records = self._load_records_create([data['values'] for data in to_create])
- File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 148, in _load_records_create
- records = super(View, self)._load_records_create(values)
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3984, in _load_records_create
- return self.create(values)
- File "<decorator-gen-31>", line 2, in create
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 344, in _model_create_multi
- return create(self, arg)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 473, in create
- return super(View, self).create(vals_list)
- File "<decorator-gen-3>", line 2, in create
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 344, in _model_create_multi
- return create(self, arg)
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3765, in create
- fields[0].determine_inverse(batch_recs)
- File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1096, in determine_inverse
- getattr(records, self.inverse)()
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
- view.write(data)
- File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 51, in write
- return super(View, self).write(vals)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 490, in write
- return super(View, self).write(self._compute_defaults(vals))
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3554, in write
- real_recs._validate_fields(set(vals) - set(inverse_fields))
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 1167, in _validate_fields
- check(self)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 394, in _check_xml
- raise ValidationError("%s\n\n%s" % (_("Error while validating view"), tools.ustr(e)))
- odoo.exceptions.ValidationError: ('Error while validating view\n\nModelo no encontrado: openacademy.course\n\nContexto del error:\nVista `course.form`\n[view_id: 678, xml_id: n/a, model: openacademy.course, parent_id: n/a]', 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 619, 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 14, in reraise
- raise value
- File "/usr/lib/python3/dist-packages/odoo/http.py", line 664, in dispatch
- result = self._call_function(**self.params)
- File "/usr/lib/python3/dist-packages/odoo/http.py", line 345, in _call_function
- return checked_call(self.db, *args, **kwargs)
- File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 93, in wrapper
- return f(dbname, *args, **kwargs)
- File "/usr/lib/python3/dist-packages/odoo/http.py", line 338, in checked_call
- result = self.endpoint(*a, **kw)
- File "/usr/lib/python3/dist-packages/odoo/http.py", line 909, in __call__
- return self.method(*args, **kw)
- File "/usr/lib/python3/dist-packages/odoo/http.py", line 510, in response_wrap
- response = f(*args, **kw)
- File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1323, in call_button
- action = self._call_kw(model, method, args, kwargs)
- File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1311, in _call_kw
- return call_kw(request.env[model], method, args, kwargs)
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 395, in call_kw
- result = _call_kw_multi(method, model, args, kwargs)
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 382, in _call_kw_multi
- result = method(recs, *args, **kwargs)
- File "<decorator-gen-58>", line 2, in button_immediate_install
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
- return method(self, *args, **kwargs)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install
- return self._button_immediate_function(type(self).button_install)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 573, 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 85, in new
- odoo.modules.load_modules(registry._db, force_demo, status, update_module)
- File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 420, in load_modules
- loaded_modules, update_module, models_to_check)
- File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 312, in load_marked_modules
- perform_checks=perform_checks, models_to_check=models_to_check
- File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 222, in load_module_graph
- load_data(cr, idref, mode, kind='data', package=package, report=report)
- File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 68, in load_data
- tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 737, in convert_file
- convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 804, in convert_xml_import
- obj.parse(doc.getroot())
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 722, in parse
- exc_info[2]
- File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 13, in reraise
- raise value.with_traceback(tb)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 713, in parse
- self._tag_root(de)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 675, in _tag_root
- f(rec)
- File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 578, in _tag_record
- record = model._load_records([data], self.mode == 'update')
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 4070, in _load_records
- records = self._load_records_create([data['values'] for data in to_create])
- File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 148, in _load_records_create
- records = super(View, self)._load_records_create(values)
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3984, in _load_records_create
- return self.create(values)
- File "<decorator-gen-31>", line 2, in create
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 344, in _model_create_multi
- return create(self, arg)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 473, in create
- return super(View, self).create(vals_list)
- File "<decorator-gen-3>", line 2, in create
- File "/usr/lib/python3/dist-packages/odoo/api.py", line 344, in _model_create_multi
- return create(self, arg)
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3765, in create
- fields[0].determine_inverse(batch_recs)
- File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1096, in determine_inverse
- getattr(records, self.inverse)()
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 299, in _inverse_arch
- view.write(data)
- File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 51, in write
- return super(View, self).write(vals)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 490, in write
- return super(View, self).write(self._compute_defaults(vals))
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 3554, in write
- real_recs._validate_fields(set(vals) - set(inverse_fields))
- File "/usr/lib/python3/dist-packages/odoo/models.py", line 1167, in _validate_fields
- check(self)
- File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 394, in _check_xml
- raise ValidationError("%s\n\n%s" % (_("Error while validating view"), tools.ustr(e)))
- odoo.tools.convert.ParseError: "Error while validating view
- Modelo no encontrado: openacademy.course
- Contexto del error:
- Vista `course.form`
- [view_id: 678, xml_id: n/a, model: openacademy.course, parent_id: n/a]
- None" while parsing /mnt/extra-addons/openacademy/views/openacademy.xml:2, near
- <odoo>
- <record model="ir.ui.view" id="course_form_view">
- <field name="name">course.form</field>
- <field name="model">openacademy.course</field>
- <field name="arch" type="xml">
- <form string="Course Form">
- <header>
- <button string="Confirm" type="object" name="action_confirm" states="draft" class="oe_highlight"/>
- <button string="Mark as done" type="object" name="action_done" states="confirmed" class=" highlight "/>
- <button string="Reset to draft" type="object" name="action_draft" states="confirmed,done"/>
- <field name="state" widget="statusbar"/>
- </header>
- <sheet>
- <div class="oe_title">
- <label for="name" class="oe_edit_only" string="Idea Name"/>
- <h1><field name="name"/></h1>
- </div>
- <separator string="General" colspan="2"/>
- <group colspan="2" col="2">
- <field name="name"/>
- <field name="responsible_id"/>
- </group>
- <notebook>
- <page string="Description">
- <field name="description" placeholder="Idea description..."/>
- </page>
- <page string="Sessions">
- <field name="session_ids">
- <tree string="Registered sessions">
- <field name="name"/>
- <field name="instructor_id"/>
- </tree>
- </field>
- </page>
- <page string="Duracion">
- <field name="duracion"/>
- </page>
- <page string="About"/>
- </notebook>
- </sheet>
- </form>
- </field>
- </record>
- <record model="ir.ui.view" id="course_search_view">
- <field name="name">course.search</field>
- <field name="model">openacademy.course</field>
- <field name="arch" type="xml">
- <search>
- <field name="name"/>
- <field name="description"/>
- </search>
- </field>
- </record>
- <!-- session form view -->
- <record model="ir.ui.view" id="session_form_view">
- <field name="name">session.form</field>
- <field name="model">openacademy.session</field>
- <field name="arch" type="xml">
- <form string="Session Form">
- <sheet>
- <group string="General">
- <field name="course_id"/>
- <field name="name"/>
- <field name="instructor_id"/>
- </group>
- <group>
- <field name="name"/>
- <field name="start_date"/>
- <field name="duration"/>
- <field name="seats"/>
- </group>
- <label for="attendee_ids"/>
- <field name="attendee_ids"/>
- </sheet>
- </form>
- </field>
- </record>
- <!-- override the automatically generated list view for courses -->
- <record model="ir.ui.view" id="course_tree_view">
- <field name="name">course.tree</field>
- <field name="model">openacademy.course</field>
- <field name="arch" type="xml">
- <tree string="Course Tree">
- <field name="name"/>
- <field name="responsible_id"/>
- </tree>
- </field>
- </record>
- <!-- session tree/list view -->
- <record model="ir.ui.view" id="session_tree_view">
- <field name="name">session.tree</field>
- <field name="model">openacademy.session</field>
- <field name="arch" type="xml">
- <tree string="Session Tree">
- <field name="name"/>
- <field name="course_id"/>
- </tree>
- </field>
- </record>
- <!-- window action -->
- <!--
- The following tag is an action definition for a "window action",
- that is an action opening a view or a set of views
- -->
- <record model="ir.actions.act_window" id="course_list_action">
- <field name="name">Courses</field>
- <field name="res_model">openacademy.course</field>
- <field name="view_mode">tree,form</field>
- <field name="help" type="html">
- <p class="o_view_nocontent_smiling_face">Create the first course</p>
- </field>
- </record>
- <record model="ir.actions.act_window" id="session_list_action">
- <field name="name">Sessions</field>
- <field name="res_model">openacademy.session</field>
- </record>
- <!-- top level menu: no parent -->
- <menuitem id="main_openacademy_menu" name="Open Academy"/>
- <!-- A first level in the left side menu is needed before using action= attribute -->
- <menuitem id="openacademy_menu" name="Open Academy" parent="main_openacademy_menu"/>
- <!-- the following menuitem should appear *after* its parent openacademy_menu and *after* its action course_list_action -->
- <menuitem id="courses_menu" name="Courses" parent="openacademy_menu" action="course_list_action"/>
- <!-- Full id location:
- action="openacademy.course_list_action"
- It is not required when it is the same module -->
- <menuitem id="session_menu" name="Sessions" parent="openacademy_menu" action="session_list_action"/>
- </odoo>