Hi everyone!
Recently, I'm writing a wizard extension from my custom module for CRM. The ugrade for module is fine without any problem but when I tried using the wizard I got this error:
2021-04-13 05:58:06,300 17148 ERROR BusMap odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\pycompat.py", line 14, in reraise
raise value
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\service\model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 915, in __call__
return self.method(*args, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 515, in response_wrap
response = f(*args, **kw)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1331, in call_button
action = self._call_kw(model, method, args, kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1319, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 380, in call_kw
method = getattr(type(model), name)
AttributeError: type object 'crm.lead' has no attribute '448'
Still don't know what is wrong, I just wrote some very simple file there:
my wizard class:
from odoo import api, fields, models
class CrmLead2MailContact(models.TransientModel):
_name = 'crm.lead.2mail'
_description = 'Convert leads 2 mail contact'
name2 = fields.Many2one('crm.lead', 'Lost Reason')
def convert_oppo_2_mail_contact(self):
print("test")
return
my xml file:
<?xml version="1.0"?>
<odoo>
<record id="crm_lead_convert_2_mail_contact_view_form" model="ir.ui.view">
<field name="name">crm.lead.2mail.form</field>
<field name="model">crm.lead.2mail</field>
<field name="arch" type="xml">
<form string="Mail contact info">
<group class="oe_title">
<field name="name2"/>
<!-- <field name="email"/>-->
</group>
<footer>
<button name="convert_oppo_2_mail_contact" string="Convert" type="object" class="btn-primary"/>
<button string="Cancel" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="crm_lead_2_mail_contact_action" model="ir.actions.act_window">
<field name="name">Convert 2 mail contact</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">crm.lead.2mail</field>
<field name="view_mode">form</field>
<field name="view_id" ref="crm_lead_convert_2_mail_contact_view_form"/>
<field name="target">new</field>
</record>
</odoo>
add to crm view:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- ========================This is Form layout===============================-->
<record id="crm_case_form_view_leads_extended" model="ir.ui.view">
<field name="name">CRM - Leads Form</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_lead_view_form" />
<field name="arch" type="xml">
<xpath expr="//form//sheet" position="before">
<header>
<button name="%(bsmart.crm_lead_2_mail_contact_action)d" attrs="{'invisible': [('id', '=', False)], }"
string="Convert lead to email contact" type="object" class="oe_highlight"/>
</header>
</xpath>
</field>
</record>
</data>
</odoo>
Can anyone show me how to fix this?
https://www.youtube.com/watch?v=K60oF3-vaxA