3 Ce module contient tout ce qui est nécessaire pour qualifier une MO
5 On distingue deux grands rôles qui sont les MOE et les MOA :
7 MOE = Maîtrise d'oeuvre (ceuf qui font)
8 MOA = Maîtrise d'ouvrage (ceux qui demandent et contrôlent)
11 from openerp.osv import osv, fields
14 class RoleMO(osv.Model):
15 """Role MO: différents types de MOE et MOA"""
17 _name = "cmmi.mo.role"
19 _description = "Rattachement des MOs et des roles."
21 _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
23 _types_mo = [("MOE", "MOE"), ("MOA", "MOA")]
26 "name": fields.char(string="Title", size=64, required=True),
27 "code": fields.char(string="Code", size=8, required=True),
28 "description": fields.text(string="Description"),
29 "statut": fields.selection(_statuts, string="Statut"),
30 "type_mo": fields.selection(_types_mo,
33 "mo_ids": fields.one2many("cmmi.mo", #TODO: à vérifier si pas de bugs
42 _description = "Table de reference des MOs."
44 _rangs = [("primaire", "Primaire"),
45 ("secondaire", "Secondaire"),
46 ("generique", "Générique")]
49 "name": fields.char(string="Title"),
50 "description": fields.text(string="Description"),
51 "rang": fields.selection(_rangs, string="Rang", required=True),
52 "role_mo_id": fields.many2one("cmmi.mo.role", string="Role"),
53 # "charges": fields.one2many("cmmi.evolution.charge", # TODO: Faire l'association teammember MO plutôt que MO.
65 _description = "Table de referencement des MOEs."
70 "role_mo_id": fields.many2one("cmmi.mo.role",
72 domain=[("type_mo", "=", "MOE")]),
73 "projets": fields.one2many("cmmi.projet",
83 _description = "Table de referencement des MOAs."
88 "role_mo_id": fields.many2one("cmmi.mo.role",
90 domain=[("type_mo", "=", "MOA")]),
91 "projets": fields.one2many("cmmi.projet",