# © 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import fields, models class ScopActionRse(models.Model): _name = "scop.action.rse" _inherit = ["mail.thread"] _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, tracking=True) 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", tracking=True, ) action_manager = fields.Text(string="Référent de l'action", tracking=True) action_description = fields.Text(string="Description de l'action", tracking=True) action_measure = fields.Text(string="Indicateurs de suivi", tracking=True) # ------------------------------------------------------ # 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", ), ]