Déplacement du fichier demo dans son dossier
[OpenERP/cmmi.git] / projet.py
index 4972e58..12ec84e 100644 (file)
--- a/projet.py
+++ b/projet.py
@@ -6,6 +6,7 @@ from openerp.osv import osv, fields
 from gtk import TRUE
 
 class Projet(osv.Model):
+
     _name = "projet.projet"
 
     _columns = {
@@ -19,6 +20,16 @@ class Projet(osv.Model):
                                        "projet_projet_structure_rel",
                                        "projets",
                                        string="Structures"),
+        "structures_moe": fields.many2many("projet.structure",
+                                           "projet_projet_structure_rel",
+                                           "projets",
+                                           string="Structures",
+                                           domain=[('role_mo_id.type_mo', '=', "MOE")]),
+        "structures_moa": fields.many2many("projet.structure",
+                                           "projet_projet_structure_rel",
+                                           "projets",
+                                           string="Structures",
+                                           domain=[('role_mo_id.type_mo', '=', "MOA")]),
         "team_members": fields.many2many("projet.teammember",
                                          "projet_projet_teammember_rel",
                                          "projets",
@@ -40,15 +51,33 @@ class Projet(osv.Model):
                                      string="Evolutions"),
         "moe_id": fields.many2one("projet.moe", string="MoE", required=True),
         "moa_id": fields.many2one("projet.moa", string="MoA", required=True),
+        "main_domain": fields.many2one("projet.domaine",
+                                       string="Domaine principal"),
+        "main_structure": fields.many2one("projet.structure",
+                                          string="Structure principale"),
     }
 
 
 class Evolution(osv.Model):
     _name = "projet.evolution"
 
+    _priorites = [("incontournable", "Incontournable"),
+                  ("necessaire", "Nécéssaire"),
+                  ("utile", "Utile")]
+
+    _statuts = [("cree", "Crée"), ("encours", "En cours"),
+                ("termine", "Terminé"), ("abandonne", "Abandonné"),
+                ("suspendu", "Suspendu")]
+
     _columns = {
+        "pid": fields.integer(string="PID"),
         "name": fields.char(string="Title", size=64, required=True),
         "description": fields.text(string="Description"),
+        "objectif": fields.text(string="Objectif"),
+        "commentaire": fields.text(string="Commentaire"),
+        "keywords": fields.text(string="Mots clés"),
+        "priorite": fields.selection(_priorites, string="Priorité"),
+        "statut": fields.selection(_statuts, string="Statut"),
         "charges": fields.one2many("projet.charge",
                                    "evolution_id",
                                    string="Charges"),
@@ -61,11 +90,12 @@ class Evolution(osv.Model):
         "phase_id": fields.many2one("projet.phase",
                                     string="Phase"),
         "projet_id": fields.many2one("projet.projet",
-                                     string="Projet")
+                                     string="Projet"),
     }
 
 
 class Structure(osv.Model):
+
     _name = "projet.structure"
 
     _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
@@ -76,6 +106,7 @@ class Structure(osv.Model):
         "description": fields.text(string="Description"),
         "parent_id": fields.many2one("projet.structure", string="Parent_id"),
         "statut": fields.selection(_statuts, string="Statut"),
+        "role_mo_id":fields.many2one("projet.role_mo", string="Role MO"),
         "projets": fields.many2many("projet.projet",
                                     "projet_projet_structure_rel",
                                     "structures",
@@ -83,6 +114,27 @@ class Structure(osv.Model):
     }
 
 
+class Role_MO(osv.Model):
+    _name = "projet.role_mo"
+
+    _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
+
+    _types_mo = [("MOE", "MOE"), ("MOA", "MOA")]
+
+    _columns = {
+        "name": fields.char(string="Title", size=64, required=True),
+        "code": fields.char(string="Code", size=8, required=True),
+        "description": fields.text(string="Description"),
+        "statut": fields.selection(_statuts, string="Statut"),
+        "type_mo": fields.selection(_types_mo, string="Type de MO", required=True),
+        "structures": fields.one2many("projet.structure",
+                                   "role_mo_id",
+                                   string="MOs"),
+        "mo_ids": fields.one2many("projet.mo",
+                                   "role_mo_id",
+                                   string="MOs"),
+    }
+
 class Module(osv.Model):
     _name = "projet.module"
 
@@ -133,6 +185,18 @@ class Teammember(osv.Model):
     }
 
 
+class Type_Phase(osv.Model):
+    _name = "projet.type_phase"
+
+    _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
+
+    _columns = {
+        "name": fields.char(string="Title", size=64, required=True),
+        "description": fields.text(string="Description"),
+        "statut": fields.selection(_statuts, string="Statut"),
+    }
+
+
 class Phase(osv.Model):
     _name = "projet.phase"
 
@@ -143,6 +207,8 @@ class Phase(osv.Model):
         "name": fields.char(string="Title", size=64, required=True),
         "description": fields.text(string="Description"),
         "statut": fields.selection(_statuts, string="Statut"),
+        "type_phase_id": fields.many2one("projet.type_phase",
+                                         string="Type phase"),
         "projet_id": fields.many2one("projet.projet",
                                      string="Projet",
                                      required=True),
@@ -160,9 +226,16 @@ class Phase(osv.Model):
 class qqch(osv.Model):
     _name = "projet.qqch"
 
+    _statuts = [("cree", "Crée"), ("encours", "En cours"),
+                ("termine", "Terminé"), ("abandonne", "Abandonné"),
+                ("suspendu", "Suspendu"), ("generique", "Générique")]
+
     _columns = {
         "name": fields.char(string="Title", size=64, required=True),
         "description": fields.text(string="Description"),
+        "commentaire": fields.text(string="Commentaire"),
+        "statut": fields.selection(_statuts, string="Statut"),
+        "version": fields.char(string="Version", size=16),
         "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"),
@@ -209,8 +282,8 @@ class Chantier(osv.Model):
 class Palier(osv.Model):
     _name = "projet.palier"
 
-    _types_palier = [("normal", "Normal"), ("exceptionnel", "Exceptionnel"), ("correctif", "Correctif"), ("autre", "Autre")]
-
+    _types_palier = [("normal", "Normal"), ("exceptionnel", "Exceptionnel"),
+                     ("correctif", "Correctif"), ("autre", "Autre")]
 
     _inherit = "projet.qqch"
 
@@ -258,6 +331,7 @@ class mo(osv.Model):
         "name": fields.char(string="Title"),
         "description": fields.text(string="Description"),
         "chose": fields.selection(_choses, string="Chose", required=True),
+        "role_mo_id": fields.many2one("projet.role_mo", string="Role"),
         "charges": fields.one2many("projet.charge",
                                    "mo_id",
                                    string="Charges"),