From 1a5cffb7a6e75a843eec7fb2f6e9cb95c3ecb412 Mon Sep 17 00:00:00 2001 From: "CGSCOP\\hsilvant" <hsilvant@scop.coop> Date: Mon, 24 Mar 2025 19:41:42 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20notion=20d'engagement=20trans?= =?UTF-8?q?ition=20=C3=A9co.=20J'ai=20cach=C3=A9=20la=20partie=20rse=20qui?= =?UTF-8?q?=20ne=20sert=20pas=20pour=20le=20moment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __manifest__.py | 1 + datas/scop_action_te_data.xml | 42 +++++++++++++++++++++++++++++++ models/__init__.py | 1 + models/res_partner.py | 16 +++++++++--- models/scop_action_te.py | 18 +++++++++++++ security/ir.model.access.csv | 2 ++ views/menus.xml | 9 +++++++ views/res_partner.xml | 15 +++++++++-- views/res_partner_cooperative.xml | 2 +- views/scop_config_views.xml | 22 ++++++++++++++++ 10 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 datas/scop_action_te_data.xml create mode 100644 models/scop_action_te.py diff --git a/__manifest__.py b/__manifest__.py index 57ca4ee..4d9ef25 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -42,6 +42,7 @@ "datas/scop_contribution_type_data.xml", "datas/scop_membership_reason_end_data.xml", "datas/scop_membership_type_data.xml", + "datas/scop_action_te_data.xml", # Wizards "wizard/scop_address_wizard.xml", "wizard/scop_period_wizard.xml", diff --git a/datas/scop_action_te_data.xml b/datas/scop_action_te_data.xml new file mode 100644 index 0000000..90b817b --- /dev/null +++ b/datas/scop_action_te_data.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" ?> +<odoo> +<!-- TODO: Déplacer dans scop_cotisation--> + <data noupdate="1"> + <record id="te001" model="scop.action.te"> + <field name="name">Agriculture et Alimentation résilientes</field> + </record> + + <record id="te002" model="scop.action.te"> + <field name="name">Accompagnement à la transformation écologique</field> + </record> + + <record id="te003" model="scop.action.te"> + <field name="name">Bâtiment durable</field> + </record> + + <record id="te004" model="scop.action.te"> + <field name="name">Protection environnement et biodiversité</field> + </record> + + <record id="te005" model="scop.action.te"> + <field name="name">Communication et numérique responsables</field> + </record> + + <record id="te006" model="scop.action.te"> + <field name="name">Education à l'environnement</field> + </record> + + <record id="te007" model="scop.action.te"> + <field name="name">Gestion des ressources et déchets</field> + </record> + + <record id="te008" model="scop.action.te"> + <field name="name">Energies</field> + </record> + + <record id="te009" model="scop.action.te"> + <field name="name">Mobilité responsable</field> + </record> + + </data> +</odoo> diff --git a/models/__init__.py b/models/__init__.py index d7bc2bd..6992f60 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -17,4 +17,5 @@ from . import res_partner from . import res_users from . import scop_contribution from . import scop_action_rse +from . import scop_action_te from . import union_regionale diff --git a/models/res_partner.py b/models/res_partner.py index 36d254d..b160309 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -538,8 +538,14 @@ class ScopPartner(models.Model): inverse_name="partner_id", string="Liste des Actions RSE", ) + action_te_ids = fields.Many2many( + "scop.action.te", + column1="partner_id", + column2="action_id", + string="Actions transition éco.", + ) is_rse = fields.Boolean( - string="Engagement RSE", compute="_compute_is_rse", store=True, default=False + string="Engagement TE", compute="_compute_is_rse", store=True, default=False ) # Historique @@ -1121,14 +1127,18 @@ class ScopPartner(models.Model): ): partner.contact_legality = "customer" - @api.depends("action_rse_ids") + @api.depends("action_rse_ids","action_te_ids") def _compute_is_rse(self): """ - Est on une coop RSE + Est on une coop RSE/TE """ for partner in self: + partner.is_rse = False + if len(partner.action_rse_ids) != 0: partner.is_rse = True + if len(partner.action_te_ids) != 0: + partner.is_rse = True @api.depends( "membership_period_ids", diff --git a/models/scop_action_te.py b/models/scop_action_te.py new file mode 100644 index 0000000..64ea45a --- /dev/null +++ b/models/scop_action_te.py @@ -0,0 +1,18 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + +class ScopActionTe(models.Model): + _name = "scop.action.te" + _description = "Actions transition écologique" + _order = "name" + + name = fields.Char( + string="Nom" + ) + color = fields.Integer( + string="Couleur" + ) + active = fields.Boolean( + default=True + ) diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index b2cc49b..1f17fee 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -84,3 +84,5 @@ access_res_partner_mvt_mandate,access_res_partner_mvt_mandate,model_res_partner_ admin_res_partner_mvt_mandate,admin_res_partner_mvt_mandate,model_res_partner_mvt_mandate,group_cg_administrator,1,1,1,1 access_res_partner_mvt_vip,access_res_partner_mvt_vip,model_res_partner_mvt_vip,base.group_user,1,1,1,0 admin_res_partner_mvt_vip,admin_res_partner_mvt_vip,model_res_partner_mvt_vip,group_cg_administrator,1,1,1,1 +access_action_te_group_user,access_action_te_group_user,model_scop_action_te,base.group_user,1,0,0,0 +admin_action_te_group_user,admin_action_te_group_user,model_scop_action_te,group_cg_administrator,1,1,1,1 diff --git a/views/menus.xml b/views/menus.xml index 9d64e4d..6867c69 100644 --- a/views/menus.xml +++ b/views/menus.xml @@ -312,6 +312,15 @@ groups="cgscop_partner.group_cg_administrator,cgscop_partner.group_ur_list_modif" sequence="10" /> + + <menuitem + id="menu_scop_action_te" + parent="contacts.res_partner_menu_config" + action="action_scop_action_te" + groups="cgscop_partner.group_cg_administrator" + sequence="10" + /> + <menuitem id="menu_scop_federation" name="Fédération" diff --git a/views/res_partner.xml b/views/res_partner.xml index 52710ef..9a14e96 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -1753,10 +1753,20 @@ </page> <page name='scop_rse' - string="Actions RSE" + string="Actions Transition éco." attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status', 'not in', ['4_suivi', '6_decede'])]}" > - <field name="action_rse_ids" widget="one2many"> + <group> + <field + name="action_te_ids" + widget="many2many_tags" + options="{'color_field': 'color', 'no_create': True}" + /> + </group> + <field name="action_rse_ids" + widget="one2many" + invisible="1" + > <tree string="Actions RSE" editable="top"> <field name="action_category" required="1" /> <field name="action_date" required="1" /> @@ -1766,6 +1776,7 @@ </tree> </field> </page> + <page name='scop_xnet' string="Extranet" diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index bebbe4e..253269d 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -130,7 +130,7 @@ <separator /> <separator /> <filter - string="Engagement RSE" + string="Engagement TE" name="is_rse" domain="[('is_rse', '=', True)]" /> diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml index 5906224..5f257ab 100644 --- a/views/scop_config_views.xml +++ b/views/scop_config_views.xml @@ -484,5 +484,27 @@ </field> </field> </record> + + + <!-- Actions TE --> + <record id="view_scop_action_te_tree" model="ir.ui.view"> + <field name="name">scop.action.te.tree</field> + <field name="model">scop.action.te</field> + <field name="arch" type="xml"> + <tree string="Actions transition écologique" editable="top"> + <field name="name" /> + </tree> + </field> + </record> + + <record + id="action_scop_action_te" model="ir.actions.act_window" + > + <field name="name">Actions transition écologique</field> + <field name="res_model">scop.action.te</field> + <field name="view_mode">tree</field> + <field name="help">Affiche et gère la liste des Actions TE</field> + </record> + </data> </odoo> -- GitLab