From 2bcaad6087553d093b38577ed69b8f0d4262a4fc Mon Sep 17 00:00:00 2001 From: camilogs Date: Mon, 7 Aug 2023 12:43:44 -0500 Subject: [PATCH] feat: Se crea modelo pending_call y se asignan sus relaciones --- __init__.py | 2 ++ pending_call.py | 11 ++++++++++ prospect_trace.py | 4 +++- .../scenario_sale_opportunity_management.rst | 21 ++++++++++++++++--- 4 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 pending_call.py diff --git a/__init__.py b/__init__.py index b3bb085..121d11b 100644 --- a/__init__.py +++ b/__init__.py @@ -2,6 +2,7 @@ from trytond.pool import Pool from . import prospect from . import prospect_trace from . import call +from . import pending_call from .locations import city from .locations import department @@ -10,6 +11,7 @@ __all__ = ['register'] def register(): Pool.register( + pending_call.PendingCall, call.Call, department.Department, city.City, diff --git a/pending_call.py b/pending_call.py new file mode 100644 index 0000000..ac271cd --- /dev/null +++ b/pending_call.py @@ -0,0 +1,11 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.model import ModelSQL, ModelView, fields + + +class PendingCall(ModelSQL, ModelView): + 'Llamada pendiente a un prospecto' + __name__ = "sale.pending_call" + + date = fields.Date('Date') + prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace') diff --git a/prospect_trace.py b/prospect_trace.py index 38a55a8..d4e692e 100644 --- a/prospect_trace.py +++ b/prospect_trace.py @@ -14,7 +14,9 @@ class ProspectTrace(ModelSQL, ModelView): 'prospect.contact_method', 'Contact method') prospect_city = fields.Many2One('sale.city', 'City') - calls = fields.One2Many('sale.call', 'prospect_trace', "Calls") + calls = fields.One2Many('sale.call', 'prospect_trace', 'Calls') + pending_calls = fields.One2Many( + 'sale.pending_call', 'prospect_trace', 'Pending calls') _interest_field_type = fields.Selection( Interest.get_interest_levels(), 'Current interest') diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index ffdff09..fab42e4 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -7,7 +7,7 @@ Imports:: >>> from proteus import Model, Wizard >>> from trytond.tests.tools import activate_modules - >>> from datetime import date + >>> from datetime import date, timedelta >>> import xml.etree.ElementTree as ET Activate modules:: @@ -80,6 +80,7 @@ Seguimiento de llamadas ----------------------- **Como operador quiero poder crear un seguimiento de prospecto para luego hacer una llamada** **Como operador quiero registrar una llamada para luego generar reportes** +**Como operador quiero programar una llamada para luego obtener un reporte de trabajo pendiente** ["Crear Campo para registro de la fecha de la llamada"] @@ -177,9 +178,23 @@ Crear otra llamada al mismo seguimiento de prospecto:: >>> call2.call_result 'answered_call' + +Programar una próxima llamada al seguimiento de prospecto:: + >>> PendingCall = Model.get('sale.pending_call') + >>> pending_call = PendingCall() + + >>> pending_call.prospect_trace = prospect_trace + >>> pending_call.date = date.today() + timedelta(days=7) + >>> pending_call.save() + + >>> pending_call.prospect_trace.prospect.name + 'guchito S.A.S' + Verificar estado final del seguimiento de prospecto:: - >>> len(prospect_trace.calls) == 2 - True + >>> prospect_trace.calls + [proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2)] + >>> prospect_trace.pending_calls + [proteus.Model.get('sale.pending_call')(1)] >>> prospect_trace.current_interest '2'