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
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
c48b72fc6a
commit
54848199a7
5
call.py
5
call.py
@ -17,10 +17,11 @@ class Call(ModelSQL, ModelView):
|
||||
|
||||
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_result = fields.Selection(
|
||||
CallResults.get_call_results(), 'Call result', required=False)
|
||||
CallResults.get_call_results(), 'Call result')
|
||||
|
||||
@classmethod
|
||||
def default_date(cls):
|
||||
|
@ -1,6 +1,8 @@
|
||||
# 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
|
||||
|
||||
from .selections.call_types import CallTypes
|
||||
from .selections.interest import Interest
|
||||
|
||||
|
||||
@ -23,7 +25,13 @@ class ProspectTrace(ModelSQL, ModelView):
|
||||
@fields.depends('calls', 'current_interest')
|
||||
def on_change_calls(self):
|
||||
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):
|
||||
if self.prospect:
|
||||
|
@ -148,20 +148,23 @@ Crear seguimiento de prospecto::
|
||||
'31223425234'
|
||||
|
||||
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='Second call', interest='1', call_type='followup_call')
|
||||
>>> call = prospect_trace.calls.new(description='Third call', interest='3', call_type='followup_call')
|
||||
>>> call = prospect_trace.calls.new(description='First call', interest='0')
|
||||
>>> call = prospect_trace.calls.new(description='Second call', interest='1')
|
||||
>>> call = prospect_trace.calls.new(description='Third call', interest='3')
|
||||
>>> prospect_trace.save()
|
||||
|
||||
|
||||
Verificar estado final del seguimiento del prospecto y sus llamadas
|
||||
>>> prospect_trace.calls[0].call_result
|
||||
'missed_call'
|
||||
>>> prospect_trace.calls[0].call_type
|
||||
'first_call'
|
||||
>>> prospect_trace.calls[0].date == date.today()
|
||||
True
|
||||
|
||||
>>> prospect_trace.calls[1].call_result
|
||||
'answered_call'
|
||||
>>> prospect_trace.calls[1].call_type
|
||||
'followup_call'
|
||||
|
||||
>>> prospect_trace.calls
|
||||
[proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2), proteus.Model.get('sale.call')(3)]
|
||||
|
Loading…
Reference in New Issue
Block a user