From 45b01f502bf66d1bb15796c4d1ff3997746c1faf Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20CHAZALLET?= Date: Thu, 30 May 2013 13:23:14 +0200 Subject: [PATCH] =?utf8?q?Nouvelle=20notion=20de=20phase=20pour=20une=20=C3=A9?= =?utf8?q?vo?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- evolution.py | 48 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/evolution.py b/evolution.py index 9347c72..b8337ff 100644 --- a/evolution.py +++ b/evolution.py @@ -38,8 +38,6 @@ class Evolution(osv.Model): string="Chantier"), "palier_id": fields.many2one("cmmi.axes.palier", string="Palier"), - "phase_id": fields.many2one("cmmi.phase", - string="Phase"), "projet_id": fields.many2one("cmmi.projet", string="Projet"), "demandeur": fields.many2one("res.partner", @@ -48,21 +46,51 @@ class Evolution(osv.Model): } +class Phase(osv.Model): + _name = "cmmi.evolution.phase" + + _description = "Evolution's phase / Phase d'une évolution" + + 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.phase_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"), + "phase_id": fields.many2one("cmmi.axes.palier.phase", + string="Phase"), + "evolution_id": fields.many2one("cmmi.evolution", + string="Palier"), + } + + def create(self, cr, uid, vals, context=None): + # TODO: gérer la création d'une phase de palier. + # Vérifier les valeurs contenues dans vals et les modifier / rajouter si nécessaire selon les cas suivants + + # Si description est vide, alors par défaut, recopie de la description du palier et de la phase (concaténés avec un retour à la ligne entre les deux). + # Si commentaire est vide, alors par défaut, recopie du commentaire du palier. + # Si version est vide, alors par dégaut, recopie de la version du palier. + + return osv.Model.create(self, cr, uid, vals, context=context) + + class Charge(osv.Model): _name = "cmmi.evolution.charge" _columns = { "name": fields.char(string="Title", size=64, required=True), "description": fields.text(string="Description"), - "teammember_id": fields.many2one("res.partner", + "teammember_id": fields.many2one("res.partner", # TODO: Vers l'association teammenmer MO plutôt que MO. string="Team Member", required=True), - "phase_id": fields.many2one("cmmi.phase", - string="Phase", - required=True), - "evolution_id": fields.many2one("cmmi.evolution", - string="Evolution", + "phase_id": fields.many2one("cmmi.evolution.phase", + string="Phase de l'évolution", required=True), - "mo_id": fields.many2one("cmmi.mo", - string="Mo"), } + -- 1.7.10.4