5 from openerp.osv import osv, fields
7 class Projet(osv.Model):
8 _name = "projet.projet"
11 "name": fields.char(string="Title", size=64, required=True),
12 "description": fields.text(string="Description"),
13 "domaines": fields.many2many("projet.domaine",
14 "projet_projet_domaine_rel",
17 "structures": fields.many2many("projet.structure",
18 "projet_projet_structure_rel",
21 "team_members": fields.many2many("projet.teammember",
22 "projet_projet_teammember_rel",
24 string="Team Members"),
25 "modules": fields.one2many("projet.module",
28 "chantiers": fields.one2many("projet.chantier",
31 "paliers": fields.one2many("projet.palier",
34 "phases": fields.one2many("projet.phase",
37 "moe_id": fields.many2one("projet.moe", string="MoEs", required=True),
38 "moa_id": fields.many2one("projet.moa", string="MoAs", required=True),
42 class Evolution(osv.Model):
43 _name = "projet.evolution"
46 "name": fields.char(string="Title", size=64, required=True),
47 "description": fields.text(string="Description"),
51 class Structure(osv.Model):
52 _name = "projet.structure"
55 "name": fields.char(string="Title", size=64, required=True),
56 "description": fields.text(string="Description"),
57 "projets": fields.many2many("projet.projet",
58 "projet_projet_structure_rel",
60 string="Projets (structure)")
64 class Module(osv.Model):
65 _name = "projet.module"
68 "name": fields.char(string="Title", size=64, required=True),
69 "description": fields.text(string="Description"),
70 "projet_id": fields.many2one("projet.projet",
71 string="Projet (module)",
76 class Domaine(osv.Model):
77 _name = "projet.domaine"
80 "name": fields.char(string="Title", size=64, required=True),
81 "description": fields.text(string="Description"),
82 "parent_id": fields.many2one("projet.domaine", string="Parent_id"),
83 "projets": fields.many2many("projet.projet",
84 "projet_projet_structure_rel",
90 class Teammember(osv.Model):
91 _name = "projet.teammember"
93 _inherit = "res.partner"
96 "projets": fields.many2many("projet.projet",
97 "projet_projet_teammember_rel",
100 "charges": fields.one2many("projet.projet",
106 class Phase(osv.Model):
107 _name = "projet.phase"
110 "name": fields.char(string="Title", size=64, required=True),
111 "description": fields.text(string="Description"),
112 "projet_id": fields.many2one("projet.projet",
115 "charges": fields.one2many("projet.charge",
120 #TODO trouver un nom a cette chose
121 class qqch(osv.Model):
122 _name = "projet.qqch"
125 "name": fields.char(string="Title", size=64, required=True),
126 "description": fields.text(string="Description"),
127 "date_jalon": fields.date(sring="Jalon"),
128 "date_init_deb": fields.date(sring="Date initiale début"),
129 "date_init_fin": fields.date(sring="Date initiale de fin"),
130 "date_plan_deb": fields.date(string="Date plannifiée début"),
131 "date_plan_fin": fields.date(string="Date plannifiée de fin"),
132 "date_reel_deb": fields.date(string="Data réelle début"),
133 "date_reel_fin": fields.date(string="Data réelle fin"),
138 "date_init_deb_before_date_init_fin",
139 "CHECK(date_init_deb<> date_init_fin)",
140 "The date_init_deb should be previous date_init_fin",
143 "date_plan_deb_before_date_plan_fin",
144 "CHECK(date_plan_deb<> date_plan_fin)",
145 "The date_plan_deb should be previous date_plan_fin",
148 "date_reel_deb_before_date_reel_fin",
149 "CHECK(date_reel_deb<> date_reel_fin)",
150 "The date_reel_deb should be previous date_reel_fin",
155 class Chantier(osv.Model):
156 _name = "projet.chantier"
158 _inherit = "projet.qqch"
161 "projet_id": fields.many2one("projet.projet",
167 class Palier(osv.Model):
168 _name = "projet.palier"
170 _inherit = "projet.qqch"
173 "projet_id": fields.many2one("projet.projet",
179 class Charge(osv.Model):
180 _name = "projet.charge"
183 "name": fields.char(string="Title", size=64, required=True),
184 "description": fields.text(string="Description"),
185 "teammember_id": fields.many2one("projet.teammember",
186 string="Team Member",
188 "phase_id": fields.many2one("projet.phase",
196 _choses = [("primaire", "Primaire"), ("secondaire", "Secondaire"), ("generique", "Générique")]
199 "name": fields.char(string="Title"),
200 "description": fields.text(string="Description"),
201 "chose": fields.selection(_choses, string="Chose", required=True),
205 "chose": "generique"}
208 class moe(osv.Model):
210 _inherit = "projet.mo"
213 "projets": fields.one2many("projet.projet",
219 class moa(osv.Model):
221 _inherit = "projet.mo"
224 "projets": fields.one2many("projet.projet",