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"),
48 "charges": fields.one2many("projet.charge",
51 "module_id": fields.many2one("projet.module",
53 "chantier_id": fields.many2one("projet.chantier",
55 "palier_id": fields.many2one("projet.palier",
57 "phase_id": fields.many2one("projet.phase",
62 class Structure(osv.Model):
63 _name = "projet.structure"
66 "name": fields.char(string="Title", size=64, required=True),
67 "description": fields.text(string="Description"),
68 "projets": fields.many2many("projet.projet",
69 "projet_projet_structure_rel",
71 string="Projets (structure)"),
75 class Module(osv.Model):
76 _name = "projet.module"
79 "name": fields.char(string="Title", size=64, required=True),
80 "description": fields.text(string="Description"),
81 "projet_id": fields.many2one("projet.projet",
82 string="Projet (module)",
84 "evolutions": fields.one2many("projet.evolution",
90 class Domaine(osv.Model):
91 _name = "projet.domaine"
94 "name": fields.char(string="Title", size=64, required=True),
95 "description": fields.text(string="Description"),
96 "parent_id": fields.many2one("projet.domaine", string="Parent_id"),
97 "projets": fields.many2many("projet.projet",
98 "projet_projet_structure_rel",
104 class Teammember(osv.Model):
105 _name = "projet.teammember"
107 _inherit = "res.partner"
110 "projets": fields.many2many("projet.projet",
111 "projet_projet_teammember_rel",
114 "charges": fields.one2many("projet.projet",
120 class Phase(osv.Model):
121 _name = "projet.phase"
124 "name": fields.char(string="Title", size=64, required=True),
125 "description": fields.text(string="Description"),
126 "projet_id": fields.many2one("projet.projet",
129 "charges": fields.one2many("projet.charge",
132 "evolutions": fields.one2many("projet.evolution",
134 string="Evolutions"),
135 "palier_id": fields.many2one("projet.palier",
139 #TODO trouver un nom a cette chose
140 class qqch(osv.Model):
141 _name = "projet.qqch"
144 "name": fields.char(string="Title", size=64, required=True),
145 "description": fields.text(string="Description"),
146 "date_jalon": fields.date(sring="Jalon"),
147 "date_init_deb": fields.date(sring="Date initiale début"),
148 "date_init_fin": fields.date(sring="Date initiale de fin"),
149 "date_plan_deb": fields.date(string="Date plannifiée début"),
150 "date_plan_fin": fields.date(string="Date plannifiée de fin"),
151 "date_reel_deb": fields.date(string="Data réelle début"),
152 "date_reel_fin": fields.date(string="Data réelle fin"),
157 "date_init_deb_before_date_init_fin",
158 "CHECK(date_init_deb<> date_init_fin)",
159 "The date_init_deb should be previous date_init_fin",
162 "date_plan_deb_before_date_plan_fin",
163 "CHECK(date_plan_deb<> date_plan_fin)",
164 "The date_plan_deb should be previous date_plan_fin",
167 "date_reel_deb_before_date_reel_fin",
168 "CHECK(date_reel_deb<> date_reel_fin)",
169 "The date_reel_deb should be previous date_reel_fin",
174 class Chantier(osv.Model):
175 _name = "projet.chantier"
177 _inherit = "projet.qqch"
180 "projet_id": fields.many2one("projet.projet",
183 "evolutions": fields.one2many("projet.evolution",
185 string="Evolutions"),
189 class Palier(osv.Model):
190 _name = "projet.palier"
192 _inherit = "projet.qqch"
195 "projet_id": fields.many2one("projet.projet",
198 "evolutions": fields.one2many("projet.evolution",
200 string="Evolutions"),
201 "phases": fields.one2many("projet.phase",
207 class Charge(osv.Model):
208 _name = "projet.charge"
211 "name": fields.char(string="Title", size=64, required=True),
212 "description": fields.text(string="Description"),
213 "teammember_id": fields.many2one("projet.teammember",
214 string="Team Member",
216 "phase_id": fields.many2one("projet.phase",
219 "evolution_id": fields.many2one("projet.evolution",
227 _choses = [("primaire", "Primaire"), ("secondaire", "Secondaire"), ("generique", "Générique")]
230 "name": fields.char(string="Title"),
231 "description": fields.text(string="Description"),
232 "chose": fields.selection(_choses, string="Chose", required=True),
236 "chose": "generique"}
239 class moe(osv.Model):
241 _inherit = "projet.mo"
244 "projets": fields.one2many("projet.projet",
250 class moa(osv.Model):
252 _inherit = "projet.mo"
255 "projets": fields.one2many("projet.projet",