Commit initial
authorAlicia FLOREZ <alicflorez@gmail.com>
Thu, 11 Apr 2013 08:45:55 +0000 (10:45 +0200)
committerAlicia FLOREZ <alicflorez@gmail.com>
Thu, 11 Apr 2013 08:45:55 +0000 (10:45 +0200)
__init__.py [new file with mode: 0644]
__openerp__.py [new file with mode: 0644]
projet.py [new file with mode: 0644]
views/projet.xml [new file with mode: 0644]

diff --git a/__init__.py b/__init__.py
new file mode 100644 (file)
index 0000000..ba79513
--- /dev/null
@@ -0,0 +1 @@
+import projet
\ No newline at end of file
diff --git a/__openerp__.py b/__openerp__.py
new file mode 100644 (file)
index 0000000..1737ead
--- /dev/null
@@ -0,0 +1,20 @@
+{
+    "name": "Projet",
+    "version": "1.0",
+    "depends": ["base"],
+    "author": "Alicia FLOREZ & Sébastien CHAZALLET",
+    "category": "Tools",
+    "description": """Permet de gérer des projets.""",
+    "data": [
+        'views/projet.xml'
+        # fichiers de données (vues, ...)
+    ],
+    "demo": [
+        # fichiers de données de démonstration
+    ],
+    "test": [
+        # fichiers de test
+    ],
+    "installable": True,
+    "auto_install": False,
+}
\ No newline at end of file
diff --git a/projet.py b/projet.py
new file mode 100644 (file)
index 0000000..ee0c65c
--- /dev/null
+++ b/projet.py
@@ -0,0 +1,189 @@
+#-*- 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"),
+    }
diff --git a/views/projet.xml b/views/projet.xml
new file mode 100644 (file)
index 0000000..57e0512
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+    <data>
+
+        <record model="ir.actions.act_window" id="projets_list_action">
+            <field name="name">Liste des projets</field>
+            <field name="res_model">projet.projet</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <menuitem id="main_projet_menu" name="Projet by us" />
+        <menuitem id="mt_projet_menu" name="Projets" parent="main_projet_menu" />
+        <menuitem id="mt_projet_projets_list_menu" name="Liste des projets" parent="mt_projet_menu" action="projets_list_action"/>
+
+    </data>
+</openerp>
\ No newline at end of file