[IMP] crm: display globe button next to language for leads/opportunities
Purpose ======= Add globe button next to language for leads and opportunities if the database is in multi language mode and user has enough access rights. User is also unable to edit language from view PR: odoo/odoo/pull/78287 Task-2662548 Part-of: odoo/odoo#78287
This commit is contained in:
@@ -193,6 +193,7 @@ class Lead(models.Model):
|
||||
website = fields.Char('Website', help="Website of the contact", compute="_compute_website", readonly=False, store=True)
|
||||
lang_id = fields.Many2one('res.lang', string='Language', compute='_compute_lang_id', readonly=False, store=True)
|
||||
lang_code = fields.Char(related='lang_id.code')
|
||||
lang_active_count = fields.Integer(compute='_compute_lang_active_count')
|
||||
# Address fields
|
||||
street = fields.Char('Street', compute='_compute_partner_address_values', readonly=False, store=True)
|
||||
street2 = fields.Char('Street2', compute='_compute_partner_address_values', readonly=False, store=True)
|
||||
@@ -403,6 +404,10 @@ class Lead(models.Model):
|
||||
for lead in self.filtered('partner_id'):
|
||||
lead.lang_id = lang_id_by_code.get(lead.partner_id.lang, False)
|
||||
|
||||
@api.depends('lang_id')
|
||||
def _compute_lang_active_count(self):
|
||||
self.lang_active_count = len(self.env['res.lang'].get_installed())
|
||||
|
||||
@api.depends('partner_id')
|
||||
def _compute_partner_address_values(self):
|
||||
""" Sync all or none of address fields """
|
||||
|
||||
@@ -125,8 +125,20 @@
|
||||
<field name="country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
|
||||
</div>
|
||||
<field name="website" widget="url" placeholder="e.g. https://www.odoo.com"/>
|
||||
<field name="lang_id"/>
|
||||
<field name="lang_active_count" invisible="1"/>
|
||||
<field name="lang_code" invisible="1"/>
|
||||
<label for="lang_id" attrs="{'invisible': [('lang_active_count', '<=', 1)]}"/>
|
||||
<div class="o_row" attrs="{'invisible': [('lang_active_count', '<=', 1)]}">
|
||||
<field name="lang_id" options="{'no_quick_create':True,'no_create_edit':True,'no_open': True,}"/>
|
||||
<button
|
||||
type="action"
|
||||
name="%(base.res_lang_act_window)d"
|
||||
class="btn-sm btn-link mb4 fa fa-globe"
|
||||
aria-label="More languages"
|
||||
groups="base.group_system"
|
||||
title="More languages"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
|
||||
<group name="opportunity_partner" attrs="{'invisible': [('type', '=', 'lead')]}">
|
||||
@@ -294,7 +306,19 @@
|
||||
<field name="country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
|
||||
</div>
|
||||
<field name="website" widget="url" placeholder="e.g. https://www.odoo.com"/>
|
||||
<field name="lang_id" options="{'no_create': True}"/>
|
||||
<field name="lang_active_count" invisible="1"/>
|
||||
<label for="lang_id" attrs="{'invisible': [('lang_active_count', '<=', 1)]}"/>
|
||||
<div class="o_row" attrs="{'invisible': [('lang_active_count', '<=', 1)]}">
|
||||
<field name="lang_id" options="{'no_quick_create':True,'no_create_edit':True,'no_open': True,}"/>
|
||||
<button
|
||||
type="action"
|
||||
name="%(base.res_lang_act_window)d"
|
||||
class="btn-sm btn-link mb4 fa fa-globe"
|
||||
aria-label="More languages"
|
||||
groups="base.group_system"
|
||||
title="More languages"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
<group class="mt48">
|
||||
<label for="contact_name_page_lead"/>
|
||||
|
||||
@@ -37,4 +37,3 @@ Users can choose his favorite language in their preferences.</span>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user