feat: Al crear una nueva llamada de a un seguimiento, call_type se llena automáticamente
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Camilo Gonzalez 2023-08-07 21:16:49 -05:00
parent c48b72fc6a
commit 54848199a7
3 changed files with 19 additions and 7 deletions

View File

@ -17,10 +17,11 @@ class Call(ModelSQL, ModelView):
prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace') prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
interest = fields.Selection(Interest.get_interest_levels(), 'Interest') interest = fields.Selection(
Interest.get_interest_levels(), 'Interest', required=True)
call_type = fields.Selection(CallTypes.get_call_types(), 'Call type') call_type = fields.Selection(CallTypes.get_call_types(), 'Call type')
call_result = fields.Selection( call_result = fields.Selection(
CallResults.get_call_results(), 'Call result', required=False) CallResults.get_call_results(), 'Call result')
@classmethod @classmethod
def default_date(cls): def default_date(cls):

View File

@ -1,6 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of # This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms. # this repository contains the full copyright notices and license terms.
from trytond.model import ModelSQL, ModelView, fields from trytond.model import ModelSQL, ModelView, fields
from .selections.call_types import CallTypes
from .selections.interest import Interest from .selections.interest import Interest
@ -23,7 +25,13 @@ class ProspectTrace(ModelSQL, ModelView):
@fields.depends('calls', 'current_interest') @fields.depends('calls', 'current_interest')
def on_change_calls(self): def on_change_calls(self):
if self.calls: if self.calls:
self.current_interest = self.calls[-1].interest last_call = self.calls[-1]
self.current_interest = last_call.interest
if len(self.calls) > 1:
last_call.call_type = CallTypes.get_call_types()[1][0]
else:
last_call.call_type = CallTypes.get_call_types()[0][0]
def get_rec_name(self, name): def get_rec_name(self, name):
if self.prospect: if self.prospect:

View File

@ -148,20 +148,23 @@ Crear seguimiento de prospecto::
'31223425234' '31223425234'
Crear llamadas a un seguimiento de prospecto desde el seguimiento de prospecto:: Crear llamadas a un seguimiento de prospecto desde el seguimiento de prospecto::
>>> call = prospect_trace.calls.new(description='First call', interest='0', call_type='first_call') >>> call = prospect_trace.calls.new(description='First call', interest='0')
>>> call = prospect_trace.calls.new(description='Second call', interest='1', call_type='followup_call') >>> call = prospect_trace.calls.new(description='Second call', interest='1')
>>> call = prospect_trace.calls.new(description='Third call', interest='3', call_type='followup_call') >>> call = prospect_trace.calls.new(description='Third call', interest='3')
>>> prospect_trace.save() >>> prospect_trace.save()
Verificar estado final del seguimiento del prospecto y sus llamadas Verificar estado final del seguimiento del prospecto y sus llamadas
>>> prospect_trace.calls[0].call_result >>> prospect_trace.calls[0].call_result
'missed_call' 'missed_call'
>>> prospect_trace.calls[0].call_type
'first_call'
>>> prospect_trace.calls[0].date == date.today() >>> prospect_trace.calls[0].date == date.today()
True True
>>> prospect_trace.calls[1].call_result >>> prospect_trace.calls[1].call_result
'answered_call' 'answered_call'
>>> prospect_trace.calls[1].call_type
'followup_call'
>>> prospect_trace.calls >>> prospect_trace.calls
[proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2), proteus.Model.get('sale.call')(3)] [proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2), proteus.Model.get('sale.call')(3)]