From 6985b5300f2d4283173c609684246c3a525bf15c Mon Sep 17 00:00:00 2001 From: camilogs Date: Fri, 28 Jul 2023 03:26:38 +0000 Subject: [PATCH] Se crean relaciones entre llamadas y seguimiento de prospecto --- call.py | 5 +++- prospect_trace.py | 7 +++-- .../scenario_sale_opportunity_management.rst | 28 +++++++++++++++++++ 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/call.py b/call.py index d185354..708fb94 100644 --- a/call.py +++ b/call.py @@ -6,7 +6,10 @@ class Call(ModelSQL, ModelView): __name__ = 'sale.call' - date = fields.Date('Fecha', ) + date = fields.Date('Date') + description = fields.Char('Description') + + prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace') @classmethod def default_date(cls): diff --git a/prospect_trace.py b/prospect_trace.py index a71de0d..d203c63 100644 --- a/prospect_trace.py +++ b/prospect_trace.py @@ -8,12 +8,13 @@ class ProspectTrace(ModelSQL, ModelView): __name__ = 'sale.prospect_trace' prospect = fields.Many2One('sale.prospect', 'Prospect') + prospect_name = fields.Char('Name') + prospect_tel = fields.Integer('Tel') + + calls = fields.One2Many('sale.call', 'prospect_trace', "Calls") @fields.depends('prospect') def on_change_prospect(self): if self.prospect: self.prospect_name = self.prospect.name self.prospect_tel = self.prospect.tel - - prospect_name = fields.Char('Name') - prospect_tel = fields.Integer('Tel') \ No newline at end of file diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index cd2cd2d..3e14a95 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -19,6 +19,7 @@ Como administrador quiero poder registrar un prospecto para lugo poder hacerle u Crear prospecto:: >>> Prospect = Model.get('sale.prospect') >>> prospect = Prospect() + >>> prospect.name = 'guchito S.A.S' >>> prospect.tel = 3123423422 >>> prospect.save() @@ -31,7 +32,9 @@ Como operador quiero poder crear un seguimiento de prospecto para luego hacer un Crear seguimiento de prospecto:: >>> ProspectTrace = Model.get('sale.prospect_trace') >>> prospect_trace = ProspectTrace() + >>> prospect_trace.prospect = prospect + >>> prospect_trace.save() >>> prospect_trace.prospect_name 'guchito S.A.S' @@ -46,5 +49,30 @@ Crear llamada a un seguimiento de prospecto:: >>> Call = Model.get('sale.call') >>> call = Call() + >>> call.description = 'Descripción u observaciones de la llamada' + >>> call.prospect_trace = prospect_trace + >>> call.save() + + >>> call.prospect_trace.prospect_name + 'guchito S.A.S' + >>> call.prospect_trace.prospect_tel + 3123423422 >>> call.date == date.today() True + +Crear otra llamada al mismo seguimiento de prospecto:: + >>> Call = Model.get('sale.call') + >>> call = Call() + + >>> call.description = 'Segunda llamada al mismo seguimiento' + >>> call.prospect_trace = prospect_trace + >>> call.save() + + >>> call.prospect_trace.prospect_name + 'guchito S.A.S' + >>> call.prospect_trace.prospect_tel + 3123423422 + >>> call.date == date.today() + True + >>> len(prospect_trace.calls) == 2 + True \ No newline at end of file