From 2f35253682098cb0c69edeeec2f18a816076897c Mon Sep 17 00:00:00 2001 From: camilogs Date: Fri, 4 Aug 2023 07:11:38 -0500 Subject: [PATCH] feat: Add call results --- Util/call_results.py | 9 +++++++++ call.py | 12 ++++++++++++ tests/scenario_sale_opportunity_management.rst | 6 +++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 Util/call_results.py diff --git a/Util/call_results.py b/Util/call_results.py new file mode 100644 index 0000000..7942c8e --- /dev/null +++ b/Util/call_results.py @@ -0,0 +1,9 @@ +class CallResults(): + @staticmethod + def get_call_results(): + call_results = [ + ('missed_call', 'Missed call'), + ('answered_call', 'Answered call'), + ] + + return call_results diff --git a/call.py b/call.py index 6669ad3..ee1a96b 100644 --- a/call.py +++ b/call.py @@ -1,8 +1,10 @@ from trytond.model import ModelSQL, ModelView, fields from datetime import date + from .Util.interest import Interest from .Util.call_types import CallTypes +from .Util.call_results import CallResults class Call(ModelSQL, ModelView): @@ -17,7 +19,17 @@ class Call(ModelSQL, ModelView): interest = fields.Selection(Interest.get_interest_levels(), 'Interest') call_type = fields.Selection(CallTypes.get_call_types(), 'Call type') + call_result = fields.Selection( + CallResults.get_call_results(), 'Call result', required=False) @classmethod def default_date(cls): return date.today() + + @fields.depends('interest') + def on_change_interest(self): + if self.interest: + if self.interest == '0': + self.call_result = 'missed_call' + else: + self.call_result = 'answered_call' diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index 50fe53c..1d178f0 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -128,7 +128,7 @@ Crear llamada a un seguimiento de prospecto:: >>> call.description = 'Descripción u observaciones de la llamada' >>> call.prospect_trace = prospect_trace - >>> call.interest = '1' + >>> call.interest = '0' >>> call.call_type = 'first_call' >>> call.save() @@ -136,6 +136,8 @@ Crear llamada a un seguimiento de prospecto:: 'guchito S.A.S' >>> call.date == date.today() True + >>> call.call_result + 'missed_call' Crear otra llamada al mismo seguimiento de prospecto:: >>> Call = Model.get('sale.call') @@ -153,6 +155,8 @@ Crear otra llamada al mismo seguimiento de prospecto:: 'Bogotá' >>> call.date == date.today() True + >>> call.call_result + 'answered_call' >>> len(prospect_trace.calls) == 2 True