Liaison projet - teammember
authorAlicia FLOREZ <alicflorez@gmail.com>
Mon, 27 May 2013 08:46:18 +0000 (10:46 +0200)
committerAlicia FLOREZ <alicflorez@gmail.com>
Mon, 27 May 2013 08:46:18 +0000 (10:46 +0200)
partner.py
projet.py
views/menu.xml
views/projet.xml

index 3721492..9ceb6e5 100644 (file)
@@ -11,13 +11,8 @@ class Teammember(osv.Model):
     _inherit = "res.partner"
 
     _columns = {
-        "affectation": fields.integer(string="Affecté à"),
-        "depuis": fields.date(string="Depuis"),
-        "jusqua": fields.date(string="Jusqu'à"),
-        "projets": fields.many2many("cmmi.projet",
-                                    "cmmi_projet_teammember_rel",
+        "projets": fields.many2many("cmmi.projet.teammember",
                                     "partner_id",
-                                    "projet_id",
                                     string="Projets"),
         "charges": fields.one2many("cmmi.projet",
                                    "team_members",
index 9381694..d9c4182 100644 (file)
--- a/projet.py
+++ b/projet.py
@@ -72,10 +72,8 @@ class Projet(osv.Model):
         "domains": fields.one2many("cmmi.projet.domaine",
                                     "project_id",
                                     string="Domaines"),
-        "team_members": fields.many2many("res.partner",
-                                         "cmmi_projet_teammember_rel",
+        "team_members": fields.one2many("cmmi.projet.teammember",
                                          "projet_id",
-                                         "partner_id",
                                          string="Team Members"),
         "modules": fields.one2many("cmmi.description.module",
                                    "projet_id",
@@ -330,4 +328,30 @@ class ProjetPhase(osv.Model):
         "phase_id": fields.many2one("cmmi.phase.type",
                                     string="Phase",
                                     required=True),
+    }
+
+
+class ProjetTeammember(osv.Model):
+    _name = "cmmi.projet.teammember"
+
+    def _get_name(self, cr, uid, ids, field_name=None, arg=None, context=None):
+        if isinstance(ids, (int, long)):
+            ids = [ids]
+        return dict([(i, r.partner_id.name) for i, r in
+                zip(ids, self.browse(cr, uid, ids, context=context))])
+
+    _columns = {
+        "name": fields.function(_get_name,
+                                type='char',
+                                store=True,
+                                string="Nom de la phase"),
+        "affecte": fields.integer(string="Affecté à"),
+        "depuis": fields.date(string="Depuis"),
+        "jusqua": fields.date(string="Jusqu'à"),
+        "projet_id": fields.many2one("cmmi.projet",
+                                     string="Projet",
+                                     required=True),
+        "partner_id": fields.many2one("res.partner",
+                                    string="Team Member",
+                                    required=True),
     }
\ No newline at end of file
index 705ae80..9c4f136 100644 (file)
             <field name="view_mode">tree,form</field>
         </record>
 
+        <record model="ir.actions.act_window" id="teammembers_list_action">
+            <field name="name">Team members</field>
+            <field name="res_model">res.partner</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
         <!--         MENUS         -->
 
         <menuitem id="main_projet_menu" name="Projet" />
@@ -37,6 +43,7 @@
         <menuitem id="mt_projet_domaines_list_menu" name="Liste des domaines" parent="mt_referentiels_menu" action="domaines_list_action"/>
         <menuitem id="mt_projet_structures_list_menu" name="Liste des structures" parent="mt_referentiels_menu" action="structures_list_action"/>
         <menuitem id="mt_projet_phases_list_menu" name="Liste des phases" parent="mt_referentiels_menu" action="phases_list_action"/>
+        <menuitem id="mt_projet_teammember_list_menu" name="Team members" parent="mt_referentiels_menu" action="teammembers_list_action"/>
 
 
     </data>
index 3d59463..fe3641f 100644 (file)
@@ -48,7 +48,7 @@
                                 <field name="team_members" nolabel="1">
                                     <tree>
                                         <field name="name"/>
-                                        <field name="affectation" />
+                                        <field name="affecte" />
                                         <field name="depuis" />
                                         <field name="jusqua" />
                                     </tree>