Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 1236008a49945020615fb7908c437964d02ddbe5
  • 14.0 par défaut protégée
2 résultats

ecozimut_mixin_models.py

Blame
  • ecozimut_mixin_models.py 2,80 Kio
    # Copyright 2023 Le Filament (https://le-filament.com)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
    
    from random import randint
    
    from odoo import fields, models
    
    
    # ------------------------------------------------------
    # Listes pour la partie Projet
    # ------------------------------------------------------
    class EcozimutProcedureType(models.Model):
        _name = "ecozimut.procedure.type"
        _description = "Type de procédure"
    
        name = fields.Char(string="Type de procédure", required=True)
        calculation_mode = fields.Selection(
            [
                ("manual", "Manuel"),
                ("missions", "Missions"),
                ("sale_orders", "Devis / Commandes"),
            ],
            string="Mode de calcul",
            required=True,
            default="manual",
        )
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Ce type de procédure existe déjà !"),
        ]
    
    
    class EcozimutOperationType(models.Model):
        _name = "ecozimut.operation.type"
        _description = "Type d'opération"
    
        name = fields.Char(string="Type d'opération", required=True)
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Ce type d'opération existe déjà !"),
        ]
    
    
    class EcozimutUsage(models.Model):
        _name = "ecozimut.usage"
        _description = "Usage"
    
        name = fields.Char(string="Usage", required=True)
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Cet usage existe déjà !"),
        ]
    
    
    class EcozimutProjectPerf(models.Model):
        _name = "ecozimut.project.perf"
        _description = "Performance projet"
    
        def _get_default_color(self):
            return randint(1, 11)
    
        name = fields.Char("Nom", required=True)
        color = fields.Integer("Color", default=_get_default_color)
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Cette performance projet existe déjà !"),
        ]
    
    
    # ------------------------------------------------------
    # Listes pour la partie Acteur
    # ------------------------------------------------------
    class EcozimutCustomerSubType(models.Model):
        _name = "ecozimut.customer.subtype"
        _description = "Sous-catégorie de client"
    
        name = fields.Char(string="Sous-catégorie de client", required=True)
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Cette sous-catégorie de client existe déjà !"),
        ]
    
    
    # ------------------------------------------------------
    # Listes pour la partie Mission
    # ------------------------------------------------------
    class EcozimutMission(models.Model):
        _name = "ecozimut.mission"
        _description = "Mission EcoZimut"
    
        name = fields.Char(string="Mission", required=True)
        pct = fields.Float(
            string="Pourcentage", required=True, digits=(16, 4), default="0.0"
        )
    
        _sql_constraints = [
            ("name_uniq", "unique (name)", "Cette mission existe déjà !"),
        ]