Help

0

Odoo Server Error when I try to import addon into Odoo

Avatar
Noruwa

I have 3 Addon modules I need to import into my Odoo v11 Enterprise Edition which seats on my Odoo.sh environment. I was able to successfully import two of the modules but I am getting an Odoo Server error message in the third case. THis is the error message I am getting. Has anyone had similiar issues and can offer some help  


Error:
Odoo Server Error

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/models.py", line 1046, in _validate_fields
    check(self)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 342, in _check_xml
    self.postprocess_and_fields(view.model, view_doc, view.id)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 1082, in postprocess_and_fields
    self.raise_view_error("\n".join(msg_lines), view_id)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 519, in raise_view_error
    raise ValueError(message)
ValueError: Field 'x_studio_over_credit' used in attributes must be present in view but is missing:
 - 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
 - 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"

Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, 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 "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
    record = record.create(values)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
    res = super(StudioMixin, self).create(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
    return super(View, self).create(self._compute_defaults(values))
  File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
    self._fields[key].determine_inverse(record)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
    getattr(records, self.inverse)()
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
    view.write(data)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
    res = super(StudioMixin, self).write(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
    self._write(old_vals)
  File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
    self._validate_fields(vals)
  File "/home/odoo/src/odoo/odoo/models.py", line 1050, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating constraint\n\nField \'x_studio_over_credit\' used in attributes must be present in view but is missing:\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'draft\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'sent\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n\nError context:\nView `view.sales.form.extend.one`\n[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/http.py", line 653, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/odoo/src/odoo/odoo/http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
    raise value
  File "/home/odoo/src/odoo/odoo/http.py", line 695, in dispatch
    result = self._call_function(**self.params)
  File "/home/odoo/src/odoo/odoo/http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 939, in __call__
    return self.method(*args, **kw)
  File "/home/odoo/src/odoo/odoo/http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 938, in call_button
    action = self._call_kw(model, method, args, {})
  File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 699, in call_kw
    return call_kw_multi(method, model, args, kwargs)
  File "/home/odoo/src/odoo/odoo/api.py", line 690, in call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-42>", line 2, in button_immediate_install
  File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 72, in check_and_log
    return method(self, *args, **kwargs)
  File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 450, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 552, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/home/odoo/src/odoo/odoo/modules/registry.py", line 85, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 380, in load_modules
    loaded_modules, update_module, models_to_check)
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 274, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 181, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 95, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 792, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 853, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 752, in parse
    exc_info[2]
  File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, 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 "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
    record = record.create(values)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
    res = super(StudioMixin, self).create(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
    return super(View, self).create(self._compute_defaults(values))
  File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
    self._fields[key].determine_inverse(record)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
    getattr(records, self.inverse)()
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
    view.write(data)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
    res = super(StudioMixin, self).write(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
    self._write(old_vals)
  File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
    self._validate_fields(vals)
  File "/home/odoo/src/odoo/odoo/models.py", line 1050, in _validate_fields
    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint

Field 'x_studio_over_credit' used in attributes must be present in view but is missing:
 - 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
 - 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"

Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]
None" while parsing /home/odoo/src/odoo/addons/crm_customer_rating/views/views.xml:4, near
<record id="view_sales_form_extend_1" model="ir.ui.view">
        <field name="name">view.sales.form.extend.one</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">

            <xpath expr="//page[1]" position="after">
                <page name="customer_satisfaction" string="Customer Satisfaction">
                    <group colspan="2" col="2">
                        <field name="quality_of_products" widget="priority"/>
                        <field name="acc_of_delivery" widget="priority"/>
                        <field name="order_satisfaction" widget="priority"/>
                        <field name="oa_package_rating" widget="priority"/>
                    </group>
                </page>
            </xpath>
        </field>
    </record>

Avatar
Discard
2 Answers
0
Avatar
Noruwa
Best Answer

hello Niyas

thanks for the response. but its strange, I dont have any any field named x_studio_over_credit in my view.xml file. This is the file below;

<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<record id="view_sales_form_extend_1" model="ir.ui.view">
<field name="name">view.sales.form.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">

<xpath expr="//page[1]" position="after">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</xpath>
</field>
</record>

<record id="view_sales_filter_extend" model="ir.ui.view">
<field name="name">view.sales.filter.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='customer']" position="after">
<separator/>
<filter string="Quality of Products" name="quality_of_products" domain="[]" context="{'group_by':'quality_of_products'}"/>
<filter string="Accuracy of Delivery" name="acc_of_delivery" domain="[]" context="{'group_by':'acc_of_delivery'}"/>
<filter string="Order Satisfaction" name="order_satisfaction" domain="[]" context="{'group_by':'order_satisfaction'}"/>
<filter string="Overall Rating of Package" name="oa_package_rating" domain="[]" context="{'group_by':'oa_package_rating'}"/>
</xpath>
</field>
</record>

<record id="res_partner_customer_preferences" model="ir.ui.view">
<field name="name">res.partner.customer.preferences</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath expr="//page[@name='internal_notes']" position="after">
<page name="customer_preferences" string="Preferences">
<group colspan="2" col="2">
<field name="likes"/>
<field name="dislikes"/>
<field name="preferred_supply_time"/>
<field name="peculiarity_of_client"/>
</group>
</page>
</xpath>

</field>
</record>



</odoo>

Avatar
Discard
0
Avatar
Niyas Raphy
Best Answer

Hi,

The error messages says that there is a field named x_studio_over_credit which you have used inside the attributes in the view, but the same field is not defined or added in the view, for a field to be used inside the attrs it has be to present in the view, so add the field x_studio_over_credit in the view and see.

Thanks

Avatar
Discard