diff --git a/__manifest__.py b/__manifest__.py index 57ca4ee838bee54d94ebb5e83264b33a05ade49a..4d9ef25e16c85447653c549845230b1954c496b3 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 0000000000000000000000000000000000000000..90b817bb65f3e18a808127223a275fd4f38ed65e --- /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 d7bc2bda66e4f7f76ab24d5a05aa3ce9fcc05215..6992f601ab4a0edce3f49fd7b2bf54b9302ca9cb 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 36d254d5ce921cbf7631d2b3a1ac98da854db194..b160309840c20bba7c3548784d1ba451b6bf9cbc 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 0000000000000000000000000000000000000000..64ea45a1a179d987aa224d02810d0346a2a16816 --- /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 b2cc49bb0049a5b5dabd7642570c0428b30a099a..1f17feeb0ec0cf2adef71a24d576d50e64857bfd 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 9d64e4d235c600d9dc63152560bbf34ccd5d71f2..6867c6946000699c68d350a4295deead7febb23b 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 52710ef9f0cdd0d86d375e34f38a1577c68993b6..9a14e9662572b96c9f000dd4a39a661b00725e56 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 bebbe4ebe5ed7bf181cfedf7ad0e34f513d6558f..253269dfd3838358ef5a2177fedeffb7e9805135 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 5906224598617131d16f26d819f474b5173f00a4..5f257ab9818e7cbc585ddddf845f9bccc6d0d18a 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>