'''
from openerp.osv import osv, fields
+from gtk import TRUE
class Projet(osv.Model):
+
_name = "projet.projet"
_columns = {
"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",
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"),
"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")]
+
_columns = {
"name": fields.char(string="Title", size=64, required=True),
+ "code": fields.char(string="Code", size=8, required=True),
"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",
- string="Projets (structure)"),
+ string="Projets"),
}
+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"
"name": fields.char(string="Title", size=64, required=True),
"description": fields.text(string="Description"),
"projet_id": fields.many2one("projet.projet",
- string="Projet (module)",
+ string="Projet",
required=True),
"evolutions": fields.one2many("projet.evolution",
"module_id",
class Domaine(osv.Model):
_name = "projet.domaine"
+ _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
+
_columns = {
"name": fields.char(string="Title", size=64, required=True),
+ "code": fields.char(string="Code", size=8),
"description": fields.text(string="Description"),
+ "ordre": fields.integer(string="Ordre"),
"parent_id": fields.many2one("projet.domaine", string="Parent_id"),
+ "statut": fields.selection(_statuts, string="Statut"),
"projets": fields.many2many("projet.projet",
"projet_projet_structure_rel",
"domaines",
}
+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"
+ _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"),
+ "type_phase_id": fields.many2one("projet.type_phase",
+ string="Type phase"),
"projet_id": fields.many2one("projet.projet",
string="Projet",
required=True),
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"),
),
(
"date_plan_deb_before_date_plan_fin",
- "CHECK(date_plan_deb<> date_plan_fin)",
+ "CHECK(date_plan_deb <> date_plan_fin)",
"The date_plan_deb should be previous date_plan_fin",
),
(
class Palier(osv.Model):
_name = "projet.palier"
+ _types_palier = [("normal", "Normal"), ("exceptionnel", "Exceptionnel"),
+ ("correctif", "Correctif"), ("autre", "Autre")]
+
_inherit = "projet.qqch"
_columns = {
+ "type_palier": fields.selection(_types_palier, string="Type"),
"projet_id": fields.many2one("projet.projet",
string="Projet",
required=True),
class mo(osv.Model):
_name = "projet.mo"
- _choses = [("primaire", "Primaire"), ("secondaire", "Secondaire"), ("generique", "Générique")]
+ _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),
+ "role_mo_id": fields.many2one("projet.role_mo", string="Role"),
"charges": fields.one2many("projet.charge",
"mo_id",
string="Charges"),