Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
1478 Zobrazení

Hello everyone,

I've recently installed the Insurance Management module (great work on it!) and I'm trying to enhance its functionality. My goal is to add a page in the CRM lead notebook to display insurances created for each lead.

However, I'm encountering an error every time I try to upgrade the CRM or the Insurance Management module. Below is the code I've added:

class Lead(models.Model): _name = "crm.lead" _description = "Lead/Opportunity" _order = "priority desc, id desc" _inherit = ['mail.thread.cc', 'mail.thread.blacklist', 'mail.thread.phone', 'mail.activity.mixin', 'utm.mixin', 'format.address.mixin', ]

insurance_ids = fields.One2many('insurance.details', 'crm_lead_ref', string='Insurances', required=True, store=True)


def create_insurance_action(self): return { 'name': 'Create Insurance', 'type': 'ir.actions.act_window', 'res_model': 'insurance.details', 'view_mode': 'form', 'target': 'new', 'context': { 'default_partner_id': self.partner_id.id, 'default_lead_id': self.id }, 'views': [(False, 'form')], 'view_id': False, }



class InsuranceDetails(models.Model): _name = 'insurance.details' _inherit = ["mail.thread"]

crm_lead_ref = fields.Many2one('crm.lead', string='CRM Lead Reference', help="Reference to the CRM lead from which this insurance was created.", required=True, store=True)

def create(self, vals): if vals.get('name', 'New') == 'New': vals['name'] = self.env['ir.sequence'].next_by_code('insurance.details') or 'New'
crm_lead_ref = self.env.context.get('default_crm_lead_ref') if crm_lead_ref: vals['crm_lead_ref'] = crm_lead_ref
new_record = super(InsuranceDetails, self).create(vals) return new_record

__manifest.py__ in insurance module:

'name': 'Insurance Management', 'version': '16.0.1.1.1', 'summary': """Insurance Management & Operations""", 'description': """Insurance Management""", 'author': 'Cybrosys Techno Solutions', 'company': 'Cybrosys Techno Solutions', 'category': 'Industries', 'depends': ['crm','account', 'base'], 'license': 'AGPL-3', 'data': [ 'security/ir.model.access.csv', 'data/insurance_management_data.xml', 'views/claim_details_views.xml', 'views/employee_details_views.xml', 'views/insurance_details_views.xml', 'views/policy_details_views.xml', 'views/insurance_management_menus.xml' ],



crm_lead_views.xml: 



I have extended the crm.lead model with a One2many field to insurance.details, and also have a corresponding Many2one field in insurance.details. Despite these configurations, I keep getting an error during the module upgrade.

Any insights or suggestions on what might be causing this issue or how to resolve it would be greatly appreciated

Avatar
Zrušit
Nejlepší odpověď

Hi 

Try the following code to add the field of insurance_ids in crm.lead

class Lead(models.Model): 
_inherit = ['crm.lead']

insurance_ids = fields.One2many('insurance.details', 'crm_lead_ref', string='Insurances', required=True, store=True)

and add this one2many in the inherited view of crm.crm_lead_view_form 

Regards

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
dub 24
17369
3
srp 25
2460
1
kvě 25
2580
1
dub 25
3542
1
dub 25
4389