5 from openerp.osv import osv, fields
7 class Projet(osv.Model):
9 _name = "projet.projet"
12 "name": fields.char(string="Title", size=64, required=True),
13 "description": fields.text(string="Description"),
14 "domaines": fields.many2many("projet.domaine",
15 "projet_projet_domaine_rel",
18 "structures": fields.many2many("projet.structure",
19 "projet_projet_structure_rel",
22 "structures_moe": fields.many2many("projet.structure",
23 "projet_projet_structure_rel",
26 domain=[('role_mo_id.type_mo', '=', "MOE")]),
27 "structures_moa": fields.many2many("projet.structure",
28 "projet_projet_structure_rel",
31 domain=[('role_mo_id.type_mo', '=', "MOA")]),
32 "team_members": fields.many2many("projet.teammember",
33 "projet_projet_teammember_rel",
35 string="Team Members"),
36 "modules": fields.one2many("projet.module",
39 "chantiers": fields.one2many("projet.chantier",
42 "paliers": fields.one2many("projet.palier",
45 "phases": fields.one2many("projet.phase",
48 "evolutions":fields.one2many("projet.evolution",
51 "moe_id": fields.many2one("projet.moe", string="MoE", required=True),
52 "moa_id": fields.many2one("projet.moa", string="MoA", required=True),
53 "main_domain": fields.many2one("projet.domaine",
54 string="Domaine principal"),
55 "main_structure": fields.many2one("projet.structure",
56 string="Structure principale"),
60 class Evolution(osv.Model):
61 _name = "projet.evolution"
63 _priorites = [("incontournable", "Incontournable"),
64 ("necessaire", "Nécéssaire"),
67 _statuts = [("cree", "Crée"), ("encours", "En cours"),
68 ("termine", "Terminé"), ("abandonne", "Abandonné"),
69 ("suspendu", "Suspendu")]
72 "pid": fields.integer(string="PID"),
73 "name": fields.char(string="Title", size=64, required=True),
74 "description": fields.text(string="Description"),
75 "objectif": fields.text(string="Objectif"),
76 "commentaire": fields.text(string="Commentaire"),
77 "keywords": fields.text(string="Mots clés"),
78 "priorite": fields.selection(_priorites, string="Priorité"),
79 "statut": fields.selection(_statuts, string="Statut"),
80 "charges": fields.one2many("projet.charge",
83 "module_id": fields.many2one("projet.module",
85 "chantier_id": fields.many2one("projet.chantier",
87 "palier_id": fields.many2one("projet.palier",
89 "phase_id": fields.many2one("projet.phase",
91 "projet_id": fields.many2one("projet.projet",
96 class Teammember(osv.Model):
97 _name = "projet.teammember"
99 _inherit = "res.partner"
102 "projets": fields.many2many("projet.projet",
103 "projet_projet_teammember_rel",
106 "charges": fields.one2many("projet.projet",
112 class Charge(osv.Model):
113 _name = "projet.charge"
116 "name": fields.char(string="Title", size=64, required=True),
117 "description": fields.text(string="Description"),
118 "teammember_id": fields.many2one("projet.teammember",
119 string="Team Member",
121 "phase_id": fields.many2one("projet.phase",
124 "evolution_id": fields.many2one("projet.evolution",
127 "mo_id": fields.many2one("projet.mo",