odoo/odoo#146610
Created by fw-bot
Merged
at 2cd05b169776f8cb76d5173297eca1a61fefe718
Statuses:
- legal/cla: Contributor License Agreement check
- ci/runbot: Odoo Test Suite
- ci/upgrade_enterprise: Test upgrades for enterprise master
- ci/template: Contact runbot team on discord for help.
- ci/style: Optional style check. Ignore it only if strictly necessary.
- ci/security: Required security check. Can only be ignored by security team.
- label
- odoo-dev:saas-15.2-15.0-fix-crash-convert-lead-to-oppo-archived-lang-xal-im2F-fw
- head
- c2d78db4864feeb90824d14b34a119876fde52e9
- merged
- 2 years ago by Platform, Xavier Alt (xal)
odoo/odoo | |
---|---|
15.0 | #145331 |
saas-15.2 | #146610 |
16.0 | #146615 |
saas-16.1 | #146626 |
saas-16.2 | #146638 |
saas-16.3 | #146985 |
saas-16.4 | #146991 |
17.0 | #147003 |
18.0 | |
saas-18.2 | |
saas-18.3 | |
saas-18.4 | |
master | #147015 |
[FW][FIX] crm: handle customer creation on. lead -> oppor. w/ archived lang
To reproduce:
- enable 'debug' mode
- go to menu "Settings / Translations / Languages" and enable a new language (ex: nl_NL) 3 create a new lead and set that language
(IMPORTANT: do not set a customer) - go back to menu "Settings / Translations / Languages" and disable the language you previously enabled at step 2.
- from the lead list view, selection the lead you created at step 3, click "Action" and choose "Convert to opportunities"
- In the wizard choose for:
* Conversion Action: Convert to opportunity
* Customer: Create a new customer - Click button "Convert to opportunity"
This crash with the following error:
Traceback (most recent call last):
...
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity_mass.py", line 103, in action_mass_convert
return self.action_apply()
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity.py", line 121, in action_apply
result_opportunity = self._action_convert()
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity.py", line 144, in _action_convert
self._convert_and_allocate(result_opportunities, [self.user_id.id], team_id=self.team_id.id)
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity_mass.py", line 78, in _convert_and_allocate
return super(Lead2OpportunityMassConvert, self)._convert_and_allocate(leads, salesmen_ids, team_id=team_id)
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity.py", line 152, in _convert_and_allocate
self._convert_handle_partner(
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity_mass.py", line 109, in _convert_handle_partner
return super(Lead2OpportunityMassConvert, self)._convert_handle_partner(lead, action, partner_id)
File "/data/build/odoo/addons/crm/wizard/crm_lead_to_opportunity.py", line 166, in _convert_handle_partner
lead.with_context(default_user_id=self.user_id.id)._handle_partner_assignment(
File "/data/build/odoo/addons/crm/models/crm_lead.py", line 1556, in _handle_partner_assignment
partner = lead._create_customer()
File "/data/build/odoo/addons/crm/models/crm_lead.py", line 1692, in _create_customer
return Partner.create(self._prepare_customer_values(self.name, is_company=False))
File "<decorator-gen-1007>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 395, in _model_create_single
return create(self, arg)
File "/data/build/odoo/addons/l10n_cl/models/res_partner.py", line 55, in create
return super().create(values)
File "<decorator-gen-329>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 417, in _model_create_multi
return create(self, [arg])
File "/data/build/odoo/addons/base_vat/models/res_partner.py", line 718, in create
return super(ResPartner, self).create(vals_list)
File "<decorator-gen-263>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/addons/account/models/partner.py", line 557, in create
return super().create(vals_list)
File "<decorator-gen-227>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/addons/partner_autocomplete/models/res_partner.py", line 163, in create
partners = super(ResPartner, self).create(vals_list)
File "<decorator-gen-223>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 398, in _model_create_single
return self.browse().concat(*(create(self, vals) for vals in arg))
File "/data/build/odoo/odoo/api.py", line 398, in <genexpr>
return self.browse().concat(*(create(self, vals) for vals in arg))
File "/data/build/odoo/addons/mail_plugin/models/res_partner.py", line 32, in create
partner = super(ResPartner, self).create(vals)
File "<decorator-gen-100>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 417, in _model_create_multi
return create(self, [arg])
File "/data/build/odoo/odoo/addons/base/models/res_partner.py", line 652, in create
partners = super(Partner, self).create(vals_list)
File "<decorator-gen-137>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/addons/mail/models/mail_thread.py", line 265, in create
threads = super(MailThread, self).create(vals_list)
File "<decorator-gen-306>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/addons/website/models/mixins.py", line 211, in create
records = super(WebsitePublishedMixin, self).create(vals_list)
File "<decorator-gen-69>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 613, in create
recs = super().create(vals_list)
File "<decorator-gen-15>", line 2, in create
File "/data/build/odoo/odoo/api.py", line 418, in _model_create_multi
return create(self, arg)
File "/data/build/odoo/odoo/models.py", line 4088, in create
records = self._create(data_list)
File "/data/build/odoo/odoo/models.py", line 4152, in _create
col_val = field.convert_to_column(val, self, stored)
File "/data/build/odoo/odoo/fields.py", line 2538, in convert_to_column
value = self.convert_to_cache(value, record)
File "/data/build/odoo/odoo/fields.py", line 2550, in convert_to_cache
raise ValueError("Wrong value for %s: %r" % (self, value))
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/data/build/odoo/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/data/build/odoo/odoo/http.py", line 301, in _handle_exception
raise exception.with_traceback(None) from new_cause
ValueError: Wrong value for res.partner.lang: 'nl_NL'
This commit ensure that when converting a lead to an opportunity, we
don't crash if language is archived.
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: #145331