Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import crm_lead

View file

@ -0,0 +1,70 @@
# Copyright 2015 Antiun Ingenieria S.L. - Javier Iniesta
# Copyright 2018 ForgeFlow, S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import _, api, exceptions, fields, models
class CrmLead(models.Model):
_inherit = "crm.lead"
industry_id = fields.Many2one(
comodel_name="res.partner.industry", string="Main Industry"
)
secondary_industry_ids = fields.Many2many(
comodel_name="res.partner.industry",
string="Secondary Industries",
domain="[('id', '!=', industry_id)]",
)
@api.constrains("industry_id", "secondary_industry_ids")
def _check_industries(self):
for lead in self:
if lead.industry_id in lead.secondary_industry_ids:
raise exceptions.UserError(
_(
"The secondary industries must be different from the"
" main industry."
)
)
def _prepare_customer_values(self, partner_name, is_company=False, parent_id=False):
"""Propagate industries in the creation of partner."""
values = super()._prepare_customer_values(
partner_name, is_company=is_company, parent_id=parent_id
)
main, secondary = self.industry_id, self.secondary_industry_ids
values.update(
{
"industry_id": main.id,
"secondary_industry_ids": [(6, 0, secondary.ids)],
}
)
return values
@api.onchange("partner_id")
def _onchange_partner_id(self):
if self.partner_id:
if self.partner_id.industry_id:
self.industry_id = self.partner_id.industry_id
if self.partner_id.secondary_industry_ids:
self.secondary_industry_ids = self.partner_id.secondary_industry_ids
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get("partner_id"):
customer = self.env["res.partner"].browse(vals["partner_id"])
if customer.industry_id and not vals.get("industry_id"):
vals.update({"industry_id": customer.industry_id.id})
if customer.secondary_industry_ids and not vals.get(
"secondary_industry_ids"
):
vals.update(
{
"secondary_industry_ids": [
(6, 0, customer.secondary_industry_ids.ids)
]
}
)
return super().create(vals_list)