From 1771bf7b94b77f07554fce79631f7954029f8f0b Mon Sep 17 00:00:00 2001 From: Alicia FLOREZ Date: Mon, 27 May 2013 10:46:18 +0200 Subject: [PATCH] Liaison projet - teammember --- partner.py | 7 +------ projet.py | 30 +++++++++++++++++++++++++++--- views/menu.xml | 7 +++++++ views/projet.xml | 2 +- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/partner.py b/partner.py index 3721492..9ceb6e5 100644 --- a/partner.py +++ b/partner.py @@ -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", diff --git a/projet.py b/projet.py index 9381694..d9c4182 100644 --- 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 diff --git a/views/menu.xml b/views/menu.xml index 705ae80..9c4f136 100644 --- a/views/menu.xml +++ b/views/menu.xml @@ -28,6 +28,12 @@ tree,form + + Team members + res.partner + tree,form + + @@ -37,6 +43,7 @@ + diff --git a/views/projet.xml b/views/projet.xml index 3d59463..fe3641f 100644 --- a/views/projet.xml +++ b/views/projet.xml @@ -48,7 +48,7 @@ - + -- 1.7.10.4