From 078af4c4a2736daf9bd57aa32d45e26c5941ac09 Mon Sep 17 00:00:00 2001 From: Benjami <benjami94@gmail.com> Date: Wed, 23 Aug 2023 07:30:30 +0200 Subject: [PATCH] =?UTF-8?q?Added=20button=20in=20crm=20to=20create=20compa?= =?UTF-8?q?ny=20=F0=9F=94=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- energy_communities/models/crm_lead.py | 24 +++++++++++++++++++++ energy_communities/views/crm_lead_views.xml | 22 +++++++++++++------ 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/energy_communities/models/crm_lead.py b/energy_communities/models/crm_lead.py index a0c8fd25b..c129fec6c 100644 --- a/energy_communities/models/crm_lead.py +++ b/energy_communities/models/crm_lead.py @@ -36,6 +36,15 @@ class CrmLead(models.Model): help="Community related to this Lead", ) + finished = fields.Boolean( + related="stage_id.is_won", + readonly=True, + ) + company_hierarchy_level = fields.Selection( + related="company_id.hierarchy_level", + readonly=True, + ) + def _create_map_place_proposal(self): if not self.env.user.company_id.coordinator: raise UserError( @@ -345,6 +354,21 @@ class CrmLead(models.Model): "target": "new", } + def action_create_community(self): + default_company_vals = { + 'default_{}'.format(field): value + for field, value in self._get_default_community_wizard().items() + } + + return { + 'type': 'ir.actions.act_window', + 'name': 'Create community', + 'res_model': 'account.multicompany.easy.creation.wiz', + 'view_mode': 'form', + 'target': 'new', + 'context': default_company_vals, + } + class CrmTags(models.Model): _inherit = "crm.tag" diff --git a/energy_communities/views/crm_lead_views.xml b/energy_communities/views/crm_lead_views.xml index b64bd39ba..b6b520b20 100644 --- a/energy_communities/views/crm_lead_views.xml +++ b/energy_communities/views/crm_lead_views.xml @@ -14,7 +14,7 @@ <field name="search_view_id" ref="crm.view_crm_case_opportunities_filter" /> </record> --> - <record id="ce_crm_lead_view_form" model="ir.ui.view"> + <record id="ce_crm_lead_view_form" model="ir.ui.view"> <field name="name">ce.crm.lead.view.form</field> <field name="model">crm.lead</field> <field name="inherit_id" ref="crm.crm_lead_view_form" /> @@ -22,11 +22,21 @@ <xpath expr="//sheet" position="before"> <header> <button - name="action_assign_crm_to_coordinator_company" - type="object" - string="Assing CRM to coordinator company" - groups="energy_communities.group_platform_manager" - /> + name="action_assign_crm_to_coordinator_company" + type="object" + string="Assing CRM to coordinator company" + groups="energy_communities.group_platform_manager" + /> + <field name="source_id" invisible="1"/> + <field name="finished" invisible="1"/> + <field name="company_hierarchy_level" invisible="1"/> + <button + name="action_create_community" + type="object" + string="Create community" + groups="energy_communities.group_admin" + attrs="{'invisible': ['|', '|', ('source_id', '!=', %(ce_source_creation_ce_proposal)d), ('finished', '=', False), ('company_hierarchy_level', '!=', 'coordinator')]}" + /> </header> </xpath> </field> -- GitLab