mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-23 00:32:03 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
|||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import crm_lead
|
||||
|
|
@ -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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue