Newer
Older
# Copyright 2023 Le Filament (https://le-filament.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from odoo import fields, models
# ------------------------------------------------------
# ------------------------------------------------------
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"
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)
color = fields.Integer("Color", default=_get_default_color)
_sql_constraints = [
("name_uniq", "unique (name)", "Cette performance projet existe déjà !"),
]
# ------------------------------------------------------
# ------------------------------------------------------
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à !"),
]
# ------------------------------------------------------
# ------------------------------------------------------
class EcozimutMission(models.Model):
_name = "ecozimut.mission"
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à !"),
]