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",
56 class Structure(osv.Model):
57 _name = "projet.structure"
60 "name": fields.char(string="Title", size=64, required=True),
61 "description": fields.text(string="Description"),
62 "projets": fields.many2many("projet.projet",
63 "projet_projet_structure_rel",
65 string="Projets (structure)"),
69 class Module(osv.Model):
70 _name = "projet.module"
73 "name": fields.char(string="Title", size=64, required=True),
74 "description": fields.text(string="Description"),
75 "projet_id": fields.many2one("projet.projet",
76 string="Projet (module)",
78 "evolutions": fields.one2many("projet.evolution",
84 class Domaine(osv.Model):
85 _name = "projet.domaine"
88 "name": fields.char(string="Title", size=64, required=True),
89 "description": fields.text(string="Description"),
90 "parent_id": fields.many2one("projet.domaine", string="Parent_id"),
91 "projets": fields.many2many("projet.projet",
92 "projet_projet_structure_rel",
98 class Teammember(osv.Model):
99 _name = "projet.teammember"
101 _inherit = "res.partner"
104 "projets": fields.many2many("projet.projet",
105 "projet_projet_teammember_rel",
108 "charges": fields.one2many("projet.projet",
114 class Phase(osv.Model):
115 _name = "projet.phase"
118 "name": fields.char(string="Title", size=64, required=True),
119 "description": fields.text(string="Description"),
120 "projet_id": fields.many2one("projet.projet",
123 "charges": fields.one2many("projet.charge",
128 #TODO trouver un nom a cette chose
129 class qqch(osv.Model):
130 _name = "projet.qqch"
133 "name": fields.char(string="Title", size=64, required=True),
134 "description": fields.text(string="Description"),
135 "date_jalon": fields.date(sring="Jalon"),
136 "date_init_deb": fields.date(sring="Date initiale début"),
137 "date_init_fin": fields.date(sring="Date initiale de fin"),
138 "date_plan_deb": fields.date(string="Date plannifiée début"),
139 "date_plan_fin": fields.date(string="Date plannifiée de fin"),
140 "date_reel_deb": fields.date(string="Data réelle début"),
141 "date_reel_fin": fields.date(string="Data réelle fin"),
146 "date_init_deb_before_date_init_fin",
147 "CHECK(date_init_deb<> date_init_fin)",
148 "The date_init_deb should be previous date_init_fin",
151 "date_plan_deb_before_date_plan_fin",
152 "CHECK(date_plan_deb<> date_plan_fin)",
153 "The date_plan_deb should be previous date_plan_fin",
156 "date_reel_deb_before_date_reel_fin",
157 "CHECK(date_reel_deb<> date_reel_fin)",
158 "The date_reel_deb should be previous date_reel_fin",
163 class Chantier(osv.Model):
164 _name = "projet.chantier"
166 _inherit = "projet.qqch"
169 "projet_id": fields.many2one("projet.projet",
175 class Palier(osv.Model):
176 _name = "projet.palier"
178 _inherit = "projet.qqch"
181 "projet_id": fields.many2one("projet.projet",
187 class Charge(osv.Model):
188 _name = "projet.charge"
191 "name": fields.char(string="Title", size=64, required=True),
192 "description": fields.text(string="Description"),
193 "teammember_id": fields.many2one("projet.teammember",
194 string="Team Member",
196 "phase_id": fields.many2one("projet.phase",
199 "evolution_id": fields.many2one("projet.evolution",
207 _choses = [("primaire", "Primaire"), ("secondaire", "Secondaire"), ("generique", "Générique")]
210 "name": fields.char(string="Title"),
211 "description": fields.text(string="Description"),
212 "chose": fields.selection(_choses, string="Chose", required=True),
216 "chose": "generique"}
219 class moe(osv.Model):
221 _inherit = "projet.mo"
224 "projets": fields.one2many("projet.projet",
230 class moa(osv.Model):
232 _inherit = "projet.mo"
235 "projets": fields.one2many("projet.projet",