This question has been flagged

ODOO 14:

I have encountered this problem:

odoo.exceptions.ValidationError: Error while validating view:

create_company is not a valid action on res.partner.conversation

View name: res.partner.conversation.form

Error context:

 view: ir.ui.view(634,)

 xmlid: res_partner_conversation_form

 view.model: res.partner.conversation

 view.parent: ir.ui.view(118,)

 file: /odoo/local-addons/social_crm/views/converations_view.xml

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/odoo/odoo/service/server.py", line 1198, in preload_registries

    registry = Registry.new(dbname, update_module=update_module)

  File "/odoo/odoo/modules/registry.py", line 89, in new

    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

  File "/odoo/odoo/modules/loading.py", line 449, in load_modules

    processed_modules += load_marked_modules(cr, graph,

  File "/odoo/odoo/modules/loading.py", line 346, in load_marked_modules

    loaded, processed = load_module_graph(

  File "/odoo/odoo/modules/loading.py", line 221, in load_module_graph

    load_data(cr, idref, mode, kind='data', package=package)

  File "/odoo/odoo/modules/loading.py", line 69, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)

  File "/odoo/odoo/tools/convert.py", line 733, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate)

  File "/odoo/odoo/tools/convert.py", line 799, in convert_xml_import

    obj.parse(doc.getroot())

  File "/odoo/odoo/tools/convert.py", line 719, in parse

    self._tag_root(de)

  File "/odoo/odoo/tools/convert.py", line 677, in _tag_root

    f(rec)

  File "/odoo/odoo/tools/convert.py", line 681, in _tag_root

    raise ParseError('while parsing %s:%s, near\n%s' % (

odoo.tools.convert.ParseError: while parsing /odoo/local-addons/social_crm/views/converations_view.xml:3, near

<record id="res_partner_conversation_form" model="ir.ui.view">

            <field name="name">res.partner.conversation.form</field>

            <field name="model">res.partner.conversation</field>

            <field name="inherit_id" ref="base.view_partner_form"/>

            <field name="arch" type="xml">

                <xpath expr="//form[1]/sheet[1]/notebook[1]" position="inside">

                    <page string="Conversation" name="studio_page_kMLL3" groups="sales_team.group_sale_manager,base.group_system">

                        <group name="studio_group_kMLL3">

                            <group name="studio_group_kMLL3_left">

                                <field name="content"/>

                            </group>

                            <group name="studio_group_kMLL3_right">

                                <field name="conversation_id" force_save="True" attrs="{}" readonly="1" required="1" widget="label_selection"/>

                                <field name="date"/>

                                <field name="channel"/>

                            </group>

                        </group>

                    </page>

                </xpath>

            </field>

        </record>


The class of the module it refers to is:


class Conversation(models.Model):

    _name = 'res.partner.conversation'

    _description = 'Conversation'


    conversation_id = fields.Char(required=True, string='Conversation ID')

    channel = fields.Char(string='Channel')

    date = fields.Char(string='Date')

    content = fields.Text(string='Content')

    client = fields.Many2one('res.partner', required=True, readonly=True, ondelete='cascade', string='Client')


    _inherits = {'res.partner': 'client'}


    @api.depends('channel_id')

    def get_channel(self):

        result = []

        for conv in self:

            result.append((conv.conversation_id, conv.channel))

        return result


    @api.depends('client')

    def get_client(self):

        result = []

        for conv in self:

            result.append((conv.conversation_id, conv.client))

        return result


    @api.depends('content')

    def get_content(self):

        result = []

        for conv in self:

            result.append((conv.conversation_id, conv.content))

        return result


How can I fix it?

Avatar
Discard

Did you solve it? If yes then how? I am currently stuck with the same error and i am getting nowhere.

Best Answer

Hello,

I faced the same issue recently , in my case the issue was i was normally triggering  a  function  using  a button,  but  in  my  code  i  was  actually  evaluating  a  condition  at  the  top  of  my  function  code  that  is  not  applicable  with  my  action i want to perform.

hope  this  helps  .. 

Avatar
Discard
Best Answer

I had the same error, I had forgotten to import the file that had the method in the "__init__.py" file. Hope this helps.

Avatar
Discard