From cc13b5ac962719be9a9198afedc42b129b3492e6 Mon Sep 17 00:00:00 2001
From: thibaud <thibaud@le-filament.com>
Date: Mon, 23 Sep 2024 18:05:29 +0200
Subject: [PATCH] [UPD] Added label_haie fields to res.partner
---
models/res_partner.py | 13 +++++++++
views/res_partner.xml | 67 ++++++++++++++++++++++++++++++++-----------
2 files changed, 63 insertions(+), 17 deletions(-)
diff --git a/models/res_partner.py b/models/res_partner.py
index 6c5aa50..2e1fca7 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -114,6 +114,8 @@ class ResPartner(models.Model):
string="Champs à copier",
compute="_compute_copy_to_clipboard",
)
+ label_haie = fields.Char()
+ show_label_haie = fields.Boolean(compute="_compute_show_label_haie", store=True)
# ------------------------------------------------------
# SQL Constraints
# ------------------------------------------------------
@@ -156,6 +158,17 @@ class ResPartner(models.Model):
res = res.replace("\n\n", "\n")
record.fields_to_copy_to_clipboard = res.lstrip()
+ @api.depends("project_ids")
+ def _compute_show_label_haie(self):
+ label_haie_project = self.env["afac.project"].search(
+ [("name", "=", "Label Haie")]
+ )
+ for partner in self:
+ if label_haie_project in partner.project_ids.mapped("project_id"):
+ partner.show_label_haie = True
+ else:
+ partner.show_label_haie = False
+
@api.model
def _get_default_address_format_simple(self):
return "%(street)s\n%(street2)s\n%(street3)s\n%(zip)s %(city)s"
diff --git a/views/res_partner.xml b/views/res_partner.xml
index c873f8c..8958ad6 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -107,7 +107,7 @@
<separator />
</xpath>
<xpath expr="//group[@name='group_by']" position="after">
- <searchpanel class="afac-partner-panel">
+ <searchpanel class="afac-partner-panel">
<field
name="region_id"
select="multi"
@@ -210,9 +210,9 @@
<div
t-attf-class="badge badge-pill o_tag_color_#{record.mandate_id_color.raw_value}"
>
- <span class="o_badge_text"><t
- t-esc="record.mandate_id.value"
- /></span>
+ <span class="o_badge_text">
+ <t t-esc="record.mandate_id.value" />
+ </span>
</div>
</div>
</div>
@@ -260,6 +260,11 @@
<field name="legal_representative" optional="hide" />
<field name="project_ids" widget="many2many_tags" optional="hide" />
<field name="short_name" optional="hide" />
+ <field name="show_label_haie" invisible="True" />
+ <field
+ name="label_haie"
+ attrs="{'invisible': [('show_label_haie','=', False)]}"
+ />
</xpath>
<field name="user_id" position="attributes">
<attribute name="invisible">1</attribute>
@@ -384,22 +389,28 @@
<span class="o_form_label o_td_label" name="address_name">
<b
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'contact')]}"
- >Adresse de la Société</b>
+ >Adresse de la Société
+ </b>
<b
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'invoice')]}"
- >Adresse de facturation</b>
+ >Adresse de facturation
+ </b>
<b
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'delivery')]}"
- >Adresse de livraison</b>
+ >Adresse de livraison
+ </b>
<b
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'other')]}"
- >Autre adresse</b>
+ >Autre adresse
+ </b>
<b
attrs="{'invisible': ['|', ('parent_id', '=', False), ('type', '!=', 'private')]}"
- >Adresse Privée</b>
+ >Adresse Privée
+ </b>
<b
attrs="{'invisible': ['&', ('parent_id', '!=', False), ('type', '!=', False)]}"
- >Adresse</b>
+ >Adresse
+ </b>
</span>
</xpath>
<xpath expr="//field[@name='category_id']" position="attributes">
@@ -451,7 +462,18 @@
<xpath expr="//field[@name='child_ids']" position="attributes">
<attribute
name="context"
- >{'default_parent_id': active_id, 'default_street': street, 'default_street2': street2, 'default_city': city, 'default_state_id': state_id, 'default_zip': zip, 'default_country_id': country_id, 'default_lang': lang, 'default_user_id': user_id, 'default_type': 'contact', 'default_thematic_id': thematic_id, 'default_org_type_id': org_type_id, 'default_college_id': college_id, 'default_region_id': region_id, 'default_website': website, 'default_short_name': short_name, 'default_legal_status_id': legal_status_id, 'default_legal_status_detail_id': legal_status_detail_id}</attribute>
+ >{'default_parent_id': active_id, 'default_street': street,
+ 'default_street2': street2, 'default_city': city,
+ 'default_state_id': state_id, 'default_zip': zip,
+ 'default_country_id': country_id, 'default_lang': lang,
+ 'default_user_id': user_id, 'default_type': 'contact',
+ 'default_thematic_id': thematic_id, 'default_org_type_id':
+ org_type_id, 'default_college_id': college_id,
+ 'default_region_id': region_id, 'default_website': website,
+ 'default_short_name': short_name, 'default_legal_status_id':
+ legal_status_id, 'default_legal_status_detail_id':
+ legal_status_detail_id}
+ </attribute>
</xpath>
<xpath
expr="//field[@name='child_ids']/kanban/field[@name='display_name']"
@@ -478,16 +500,19 @@
<div
t-attf-class="badge badge-pill o_tag_color_#{record.mandate_id_color.raw_value}"
>
- <span class="o_badge_text"><t
- t-esc="record.mandate_id.value"
- /></span>
+ <span class="o_badge_text">
+ <t t-esc="record.mandate_id.value" />
+ </span>
</div>
</div>
</t>
<t t-if="record.is_legal_representative.raw_value">
- <p><span
+ <p>
+ <span
class="badge badge-pill badge-danger"
- >Représentant Légal</span></p>
+ >Représentant Légal
+ </span>
+ </p>
</t>
</xpath>
<xpath
@@ -547,12 +572,20 @@
<field name="alert" class="oe_edit_only" />
</xpath>
- <!-- All -->
+ <!-- All -->
<xpath
expr="//notebook/page[@name='sales_purchases']"
position="before"
>
<page name="projects" string="Projets">
+
+ <group>
+ <field name="show_label_haie" invisible="1" />
+ <field
+ name="label_haie"
+ attrs="{'invisible': [('show_label_haie','=', False)]}"
+ />
+ </group>
<field name="project_ids">
<tree>
<field
--
GitLab