--- /dev/null
+#-*- coding: utf8 -*-
+'''
+'''
+
+from openerp.osv import osv, fields
+
+class Projet(osv.Model):
+ _name = "projet.projet"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "domaines": fields.many2many("projet.domaine",
+ "projet_projet_domaine_rel",
+ "projets",
+ string="Domaines"),
+ "structures": fields.many2many("projet.structure",
+ "projet_projet_structure_rel",
+ "projets",
+ string="Structures"),
+ "team_members": fields.many2many("projet.teammember",
+ "projet_projet_teammember_rel",
+ "projets",
+ string="Team Members"),
+ "modules": fields.one2many("projet.module",
+ "projet_id",
+ string="Modules"),
+ "chantiers": fields.one2many("projet.chantier",
+ "projet_id",
+ string="Chantiers"),
+ "paliers": fields.one2many("projet.palier",
+ "projet_id",
+ string="Paliers"),
+ "moe_id": fields.many2one("projet.moe", string="MoEs", required=True),
+ "moa_id": fields.many2one("projet.moa", string="MoAs", required=True),
+ }
+
+
+class Evolution(osv.Model):
+ _name = "projet.evolution"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ }
+
+
+class Structure(osv.Model):
+ _name = "projet.structure"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "projets": fields.many2many("projet.projet",
+ "projet_projet_structure_rel",
+ "structures",
+ string="Projets (structure)")
+ }
+
+
+class Module(osv.Model):
+ _name = "projet.module"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "projet_id": fields.many2one("projet.projet",
+ string="Projet (module)",
+ required=True),
+ }
+
+
+class Domaine(osv.Model):
+ _name = "projet.domaine"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "parent_id": fields.many2one("projet.domaine", string="Parent_id"),
+ "projets": fields.many2many("projet.projet",
+ "projet_projet_structure_rel",
+ "domaines",
+ string="Projets"),
+ }
+
+
+class Teammember(osv.Model):
+ _name = "projet.teammember"
+
+ _inherit = "res.partner"
+
+ _columns = {
+ "projets": fields.many2many("projet.projet",
+ "projet_projet_teammember_rel",
+ "team_members",
+ string="Projets"),
+ "charges": fields.one2many("projet.projet",
+ "team_members",
+ string="Charges"),
+ }
+
+
+#TODO trouver un nom a cette chose
+class qqch(osv.Model):
+ _name = "projet.qqch"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "date_jalon": fields.date(sring="Jalon"),
+ "date_init_deb": fields.date(sring="Date initiale début"),
+ "date_init_fin": fields.date(sring="Date initiale de fin"),
+ "date_plan_deb": fields.date(string="Date plannifiée début"),
+ "date_plan_fin": fields.date(string="Date plannifiée de fin"),
+ "date_reel_deb": fields.date(string="Data réelle début"),
+ "date_reel_fin": fields.date(string="Data réelle fin"),
+ }
+
+
+class Chantier(osv.Model):
+ _name = "projet.chantier"
+
+ _inherit = "projet.qqch"
+
+ _columns = {
+ "projet_id": fields.many2one("projet.projet",
+ string="Projet",
+ required=True),
+ }
+
+
+class Palier(osv.Model):
+ _name = "projet.palier"
+
+ _inherit = "projet.qqch"
+
+ _columns = {
+ "projet_id": fields.many2one("projet.projet",
+ string="Projet",
+ required=True),
+ }
+
+
+class Charge(osv.Model):
+ _name = "projet.charge"
+
+ _columns = {
+ "name": fields.char(string="Title", size=64, required=True),
+ "description": fields.text(string="Description"),
+ "teammember_id": fields.many2one("projet.teammember",
+ string="Team Member",
+ required=True),
+ }
+
+class mo(osv.Model):
+ _name = "projet.mo"
+
+ _choses = [("primaire", "Primaire"), ("secondaire", "Secondaire"), ("generique", "Générique")]
+
+ _columns = {
+ "name": fields.char(string="Title"),
+ "description": fields.text(string="Description"),
+ "chose": fields.selection(_choses, string="Chose", required=True),
+ }
+
+ _defaults = {
+ "chose": "generique"}
+
+
+class moe(osv.Model):
+ _name = "projet.moe"
+ _inherit = "projet.mo"
+
+ _columns = {
+ "projets": fields.one2many("projet.projet",
+ "moe_id",
+ string="MoE"),
+ }
+
+
+class moa(osv.Model):
+ _name= "projet.moa"
+ _inherit = "projet.mo"
+
+ _columns = {
+ "projets": fields.one2many("projet.projet",
+ "moa_id",
+ string="MoA"),
+ }