Skip to content
Extraits de code Groupes Projets
Valider 3fda0ae7 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

Merge branch '12-rv-rse' into '12.0'

Ajout des action RSE sur les coop

See merge request !34
parents 4037a60c 00f7b719
Branches
Aucune étiquette associée trouvée
1 requête de fusion!34Ajout des action RSE sur les coop
...@@ -15,3 +15,4 @@ from . import scop_period ...@@ -15,3 +15,4 @@ from . import scop_period
from . import scop_questionnaire from . import scop_questionnaire
from . import scop_revision from . import scop_revision
from . import union_regionale from . import union_regionale
from . import scop_action_rse
\ No newline at end of file
...@@ -354,6 +354,17 @@ class ScopPartner(models.Model): ...@@ -354,6 +354,17 @@ class ScopPartner(models.Model):
inverse_name='partner_id', inverse_name='partner_id',
string='Liste des Révisions') string='Liste des Révisions')
# Action RSE
action_rse_ids = fields.One2many(
comodel_name='scop.action.rse',
inverse_name='partner_id',
string='Liste des Actions RSE')
is_rse = fields.Boolean(
string="Engagement RSE",
compute="_compute_is_rse",
store=True)
# Historique # Historique
scop_period_ids = fields.One2many( scop_period_ids = fields.One2many(
comodel_name='scop.period', comodel_name='scop.period',
...@@ -751,6 +762,14 @@ class ScopPartner(models.Model): ...@@ -751,6 +762,14 @@ class ScopPartner(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Computed Fields # Computed Fields
# ------------------------------------------------------ # ------------------------------------------------------
@api.depends('action_rse_ids')
def _compute_is_rse(self):
"""
Est on une coop RSE
"""
for partner in self:
partner.is_rse = len(partner.action_rse_ids) != 0
@api.depends('siret') @api.depends('siret')
def _compute_from_siret(self): def _compute_from_siret(self):
for company in self: for company in self:
......
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from datetime import datetime,date
from odoo import models, fields, api
from odoo.exceptions import ValidationError
class ScopRevision(models.Model):
_name = "scop.action.rse"
_description = "Actions RSE engagées"
_order = 'partner_id, action_category, action_date'
partner_id = fields.Many2one(
comodel_name='res.partner',
string='Organisme',
domain=[('is_company', '=', True)],
ondelete='cascade', index=True)
action_date = fields.Date(
string="Début de l'action",
index=True,
track_visibility='onchange')
action_category = fields.Selection(
[('1', "1 - La gouvernance de l’organisation"),
('2', "2 - Les droits de l’homme"),
('3', '3 - Les relations et les conditions de travail'),
('4', "4 - L’environnement"),
('5', '5 - La loyauté des pratiques dans les affaires'),
('6', '6 - Les questions relatives aux consommateurs'),
('7', '7 - Les communautés et le territoire')],
string='Catégorie RSE',
track_visibility='onchange')
action_manager = fields.Text(
string="Référent de l'action",
track_visibility='onchange')
action_description = fields.Text(
string="Description de l'action",
track_visibility='onchange')
action_measure = fields.Text(
string="Indicateurs de suivi",
track_visibility='onchange')
# ------------------------------------------------------
# Contraintes SQL
# ------------------------------------------------------
# Unicité de l'action par organisme et par date
_sql_constraints = [
('Action RSE',
'unique(partner_id, action_category,action_date)',
"Une action RSE a déjà été enregistrée à cette date"),
]
...@@ -76,3 +76,4 @@ base.access_res_country_state_group_user,res_country_state group_user,base.model ...@@ -76,3 +76,4 @@ base.access_res_country_state_group_user,res_country_state group_user,base.model
admin_res_country_state,res_country_state_admin,base.model_res_country_state,group_cg_administrator,1,1,1,1 admin_res_country_state,res_country_state_admin,base.model_res_country_state,group_cg_administrator,1,1,1,1
access_res_partner_filiere,access_res_partner_filiere,model_res_partner_filiere,base.group_user,1,1,1,0 access_res_partner_filiere,access_res_partner_filiere,model_res_partner_filiere,base.group_user,1,1,1,0
admin_res_partner_filiere,admin_res_partner_filiere,model_res_partner_filiere,group_cg_administrator,1,1,1,1 admin_res_partner_filiere,admin_res_partner_filiere,model_res_partner_filiere,group_cg_administrator,1,1,1,1
access_action_rse_group_user,access_action_rse_group_user,model_scop_action_rse,base.group_user,1,1,1,1
...@@ -423,6 +423,9 @@ ...@@ -423,6 +423,9 @@
<field name="is_union_sociale_update_date" readonly="True"/> <field name="is_union_sociale_update_date" readonly="True"/>
<field name="is_federation_com" invisible="True"/> <field name="is_federation_com" invisible="True"/>
<field name="is_federation_indus" invisible="True"/> <field name="is_federation_indus" invisible="True"/>
<br/>
<field name="is_rse"/>
<br/>
<field name="activity_federation_com_ids" groups="cgscop_partner.group_federation_com" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_com', '!=', True)]}" widget="many2many_tags"/> <field name="activity_federation_com_ids" groups="cgscop_partner.group_federation_com" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_com', '!=', True)]}" widget="many2many_tags"/>
<field name="activity_federation_indus_ids" groups="cgscop_partner.group_federation_indus" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_indus', '!=', True)]}" widget="many2many_tags"/> <field name="activity_federation_indus_ids" groups="cgscop_partner.group_federation_indus" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_indus', '!=', True)]}" widget="many2many_tags"/>
</group> </group>
...@@ -703,12 +706,24 @@ ...@@ -703,12 +706,24 @@
</tree> </tree>
</field> </field>
</page> </page>
<page name='scop_rse' string="Actions RSE" attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status', '!=', '6_suivi')]}">
<field name="action_rse_ids" widget="one2many">
<tree string="Actions RSE" editable="top" >
<field name="action_category" required="1"/>
<field name="action_date" required="1"/>
<field name="action_manager" required="1"/>
<field name="action_description" required="1"/>
<field name="action_measure" required="1"/>
</tree>
</field>
</page>
<page name='scop_xnet' string="Extranet" attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status', '!=', '6_suivi')]}"> <page name='scop_xnet' string="Extranet" attrs="{'invisible': ['|', ('is_cooperative', '!=', True), ('project_status', '!=', '6_suivi')]}">
<group string="Annuaire"> <group string="Annuaire">
<field name="secteur_id" /> <field name="secteur_id" />
<field name="activity_desc" /> <field name="activity_desc" />
</group> </group>
</page> </page>
</xpath> </xpath>
</field> </field>
......
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
<filter string="Fédération du BTP" name="is_federation_btp" domain="[('is_federation_btp', '=', True)]"/> <filter string="Fédération du BTP" name="is_federation_btp" domain="[('is_federation_btp', '=', True)]"/>
<filter string="Fédération des CAE" name="is_federation_cae" domain="[('cae', '=', True)]"/> <filter string="Fédération des CAE" name="is_federation_cae" domain="[('cae', '=', True)]"/>
<separator/> <separator/>
<filter string="Engagement RSE" name="is_rse" domain="[('is_rse', '=', True)]"/>
<separator/>
<group expand="0" name="group_by" string="Group By"> <group expand="0" name="group_by" string="Group By">
<filter name="project_status" string="Statut" domain="[]" context="{'group_by' : 'project_status'}"/> <filter name="project_status" string="Statut" domain="[]" context="{'group_by' : 'project_status'}"/>
<filter name="cooperative_form_id" string="Forme Coopérative" domain="[]" context="{'group_by' : 'cooperative_form_id'}"/> <filter name="cooperative_form_id" string="Forme Coopérative" domain="[]" context="{'group_by' : 'cooperative_form_id'}"/>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter