fix: Se crean llamadas desde el punto de vista desde el seguimiento de prospecto
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Camilo Gonzalez 2023-08-07 19:11:16 -05:00
parent a714f4740d
commit f6e6ac44a1
3 changed files with 29 additions and 44 deletions

View File

@ -17,14 +17,17 @@ class ProspectTrace(ModelSQL, ModelView):
pending_calls = fields.One2Many( pending_calls = fields.One2Many(
'sale.pending_call', 'prospect_trace', 'Pending calls') 'sale.pending_call', 'prospect_trace', 'Pending calls')
_interest_field_type = fields.Selection( current_interest = fields.Selection(
Interest.get_interest_levels(), 'Current interest') Interest.get_interest_levels(), 'Current interest')
current_interest = fields.Function(
_interest_field_type, '_get_current_interest') @fields.depends('calls', 'current_interest')
def on_change_calls(self):
if self.calls:
self.current_interest = self.calls[-1].interest
def get_rec_name(self, name): def get_rec_name(self, name):
if self.prospect: if self.prospect:
return '[' + self.id + '] ' + self.prospect.name return '[' + str(self.id) + '] ' + self.prospect.name
@fields.depends('prospect') @fields.depends('prospect')
def on_change_prospect(self): def on_change_prospect(self):

View File

@ -2,10 +2,11 @@ class Interest():
@staticmethod @staticmethod
def get_interest_levels(): def get_interest_levels():
interest_levels = [ interest_levels = [
('0', '0 - No contestó'), ('', None),
('1', '1 - total desinterés'), ('0', '0 - Not answered'),
('2', '2 - Interés intermedio'), ('1', '1 - Complete disinterest'),
('3', '3 - Interés alto, generar venta') ('2', '2 - Middle interest'),
('3', '3 - High interest')
] ]
return interest_levels return interest_levels

View File

@ -147,41 +147,28 @@ Crear seguimiento de prospecto::
>>> prospect_trace.prospect_contact.value >>> prospect_trace.prospect_contact.value
'31223425234' '31223425234'
Crear llamada a un seguimiento de prospecto:: Crear llamadas a un seguimiento de prospecto desde el seguimiento de prospecto::
>>> Call = Model.get('sale.call') >>> call = prospect_trace.calls.new(description='First call', interest='0', call_type='first_call')
>>> call = Call() >>> call = prospect_trace.calls.new(description='Second call', interest='1', call_type='followup_call')
>>> call = prospect_trace.calls.new(description='Third call', interest='3', call_type='followup_call')
>>> prospect_trace.save()
>>> call.description = 'Descripción u observaciones de la llamada' Verificar estado final del seguimiento del prospecto y sus llamadas
>>> call.prospect_trace = prospect_trace >>> prospect_trace.calls[0].call_result
>>> call.interest = '0'
>>> call.call_type = 'first_call'
>>> call.save()
>>> call.prospect_trace.prospect.name
'guchito S.A.S'
>>> call.date == date.today()
True
>>> call.call_result
'missed_call' 'missed_call'
>>> prospect_trace.calls[0].date == date.today()
Crear otra llamada al mismo seguimiento de prospecto::
>>> call2 = Call()
>>> call2.description = 'Segunda llamada al mismo seguimiento'
>>> call2.prospect_trace = prospect_trace
>>> call2.interest = '2'
>>> call2.call_type = 'followup_call'
>>> call2.save()
>>> call2.prospect_trace.prospect.name
'guchito S.A.S'
>>> call2.date == date.today()
True True
>>> call2.call_result
>>> prospect_trace.calls[1].call_result
'answered_call' 'answered_call'
>>> prospect_trace.calls
[proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2), proteus.Model.get('sale.call')(3)]
>>> prospect_trace.current_interest
'3'
Programar una próxima llamada pendiente al seguimiento de prospecto::
Programar una próxima llamada al seguimiento de prospecto::
>>> PendingCall = Model.get('sale.pending_call') >>> PendingCall = Model.get('sale.pending_call')
>>> pending_call = PendingCall() >>> pending_call = PendingCall()
@ -191,14 +178,8 @@ Programar una próxima llamada al seguimiento de prospecto::
>>> pending_call.prospect_trace.prospect.name >>> pending_call.prospect_trace.prospect.name
'guchito S.A.S' 'guchito S.A.S'
Verificar estado final del seguimiento de prospecto::
>>> prospect_trace.calls
[proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2)]
>>> prospect_trace.pending_calls >>> prospect_trace.pending_calls
[proteus.Model.get('sale.pending_call')(1)] [proteus.Model.get('sale.pending_call')(1)]
>>> prospect_trace.current_interest
'2'
-------- --------
Reportes Reportes