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 Role_MO(osv.Model):
15 """Role MO: différents types de MOE et MOA"""
17 _name = "projet.role_mo"
19 _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
21 _types_mo = [("MOE", "MOE"), ("MOA", "MOA")]
24 "name": fields.char(string="Title", size=64, required=True),
25 "code": fields.char(string="Code", size=8, required=True),
26 "description": fields.text(string="Description"),
27 "statut": fields.selection(_statuts, string="Statut"),
28 "type_mo": fields.selection(_types_mo, string="Type de MO", required=True),
29 "structures": fields.one2many("projet.structure",
32 "mo_ids": fields.one2many("projet.mo",
41 _choses = [("primaire", "Primaire"),
42 ("secondaire", "Secondaire"),
43 ("generique", "Générique")]
46 "name": fields.char(string="Title"),
47 "description": fields.text(string="Description"),
48 "chose": fields.selection(_choses, string="Chose", required=True),
49 "role_mo_id": fields.many2one("projet.role_mo", string="Role"),
50 "charges": fields.one2many("projet.charge",
61 _inherit = "projet.mo"
64 "projets": fields.one2many("projet.projet",
72 _inherit = "projet.mo"
75 "projets": fields.one2many("projet.projet",
81 class Structure(osv.Model):
83 _name = "projet.structure"
85 _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
88 "name": fields.char(string="Title", size=64, required=True),
89 "code": fields.char(string="Code", size=8, required=True),
90 "description": fields.text(string="Description"),
91 "parent_id": fields.many2one("projet.structure", string="Parent_id"),
92 "statut": fields.selection(_statuts, string="Statut"),
93 "role_mo_id":fields.many2one("projet.role_mo", string="Role MO"),
94 "projets": fields.many2many("projet.projet",
95 "projet_projet_structure_rel",