Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0][IMP] operating_unit: better res.user view inheriting #639

Conversation

GSLabIt
Copy link

@GSLabIt GSLabIt commented Nov 9, 2023

Description of the problem or feature or link to the task

From time to time an error occur when updating module. group tag is not found in base.view_users_form.

Error:

2023-11-09 02:30:06,944 3978828 ERROR op-unit click_odoo.env_options: exception
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 677, in _tag_root
    f(rec)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 580, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 4230, in _load_records
    data['record']._load_records_write(data['values'])
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1858, in _load_records_write
    super(View, self)._load_records_write(values)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 4154, in _load_records_write
    self.write(values)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 507, in write
    res = super(View, self).write(self._compute_defaults(vals))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3713, in write
    fields[0].determine_inverse(real_recs)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1207, in determine_inverse
    determine(self.inverse, records)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 82, in determine
    return needle(*args)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 307, in _inverse_arch
    view.write(data)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 507, in write
    res = super(View, self).write(self._compute_defaults(vals))
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3703, in write
    real_recs._validate_fields(vals, inverse_fields)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 1266, in _validate_fields
    check(self)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 415, in _check_xml
    raise ValidationError(_(
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 398, in _check_xml
    view.postprocess_and_fields(view_doc, validate=True)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 857, in postprocess_and_fields
    arch, name_manager = self._postprocess_view(node, model, validate=validate)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 869, in _postprocess_view
    self.postprocess(node, [], editable, name_manager)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 969, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 969, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 969, in postprocess
    self.postprocess(child, current_node_path, node_info['editable'], name_manager)
  [Previous line repeated 2 more times]
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 960, in postprocess
    validator(node, name_manager, node_info)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1096, in _validate_tag_field
    self.handle_view_error(msg)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 680, in handle_view_error
    raise ValueError(formatted_message).with_traceback(from_traceback) from from_exception
odoo.exceptions.ValidationError: Errore nella convalida della vista:

field "in_group_64" not found on model "res.users"

View name: res.users.form
Error context:
 view: ir.ui.view(1355,)
 xmlid: view_users_form
 view.model: res.users
 view.parent: ir.ui.view(154,)
 file: /opt/odoo/custom/oca/operating-unit/operating_unit/view/res_users_view.xml


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/click_odoo/env_options.py", line 207, in _invoke
    with self.environment_manager(
  File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/usr/local/lib/python3.8/dist-packages/click_odoo_contrib/update.py", line 296, in OdooEnvironmentWithUpdate
    _update_db(
  File "/usr/local/lib/python3.8/dist-packages/click_odoo_contrib/update.py", line 267, in _update_db
    _update_db_nolock(
  File "/usr/local/lib/python3.8/dist-packages/click_odoo_contrib/update.py", line 245, in _update_db_nolock
    odoo.modules.registry.Registry.new(database, update_module=True)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 89, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 455, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 347, in load_marked_modules
    loaded, processed = load_module_graph(
  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)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 69, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 733, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 799, in convert_xml_import
    obj.parse(doc.getroot())
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 719, in parse
    self._tag_root(de)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 681, in _tag_root
    raise ParseError('while parsing %s:%s, near\n%s' % (
odoo.tools.convert.ParseError: while parsing /opt/odoo/custom/oca/operating-unit/operating_unit/view/res_users_view.xml:3, near
<record id="view_users_form" model="ir.ui.view">
        <field name="name">res.users.form</field>
        <field name="model">res.users</field>
        <field name="inherit_id" ref="base.view_users_form"/>
        <field name="arch" type="xml">
            <xpath expr="//page[@name='access_rights']/group[1]" position="after">
                <group string="Operating Units">
                    <field name="operating_unit_ids" groups="operating_unit.group_multi_operating_unit" widget="many2many_tags"/>

                    <field name="default_operating_unit_id" domain="[('id','in',operating_unit_ids)]"/>
                </group>
            </xpath>
        </field>
    </record>

Current behavior prior to this PR:

Error is raised.

Desired behavior after this PR:

Error should not be raised any more.

@GSLabIt GSLabIt force-pushed the 14.0-fix-operating_unit-view_user_form_inheirt branch from fc8c42d to a5a2cb4 Compare November 9, 2023 12:52
@GSLabIt GSLabIt changed the title [IMP] operating_unit: better res.user view inheriting [14.0][IMP] operating_unit: better res.user view inheriting Nov 9, 2023
@francesco-ooops
Copy link

@OCA/accounting-maintainers @AaronHForgeFlow any opinion on this?

@AaronHForgeFlow
Copy link
Contributor

Was that an update of the base Odoo view? It is rare that the most basic view in operating units failed all this time.

@AaronHForgeFlow
Copy link
Contributor

AaronHForgeFlow commented Nov 23, 2023

@francesco-ooops
Copy link

thank you @AaronHForgeFlow

@GSLabIt can we close this one?

@GSLabIt
Copy link
Author

GSLabIt commented Nov 23, 2023

Tried to reproduce in runbot but was updating fine modules base and rma: http://oca-operating-unit-14-0-e54e62171f04.runboat.odoo-community.org/web#action=35&model=ir.module.module&view_type=kanban&cids=&menu_id=5

yeah, issue was related to how odoo load the view, closing

@GSLabIt GSLabIt closed this Nov 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants