feat: Se crean estados autollenados al seguimiento de prospecto (open, with_pending_calls)
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
e16e1c6d90
commit
ce71b0c932
@ -4,6 +4,7 @@ from trytond.model import ModelSQL, ModelView, fields
|
||||
|
||||
from .selections.call_types import CallTypes
|
||||
from .selections.interest import Interest
|
||||
from .selections.prospect_trace_states import ProspectTraceStates
|
||||
|
||||
|
||||
class ProspectTrace(ModelSQL, ModelView):
|
||||
@ -22,6 +23,10 @@ class ProspectTrace(ModelSQL, ModelView):
|
||||
current_interest = fields.Selection(
|
||||
Interest.get_interest_levels(), 'Current interest')
|
||||
|
||||
_state_type_field = fields.Selection(
|
||||
ProspectTraceStates.get_prospect_trace_states(), 'State')
|
||||
state = fields.Function(_state_type_field, '_get_state')
|
||||
|
||||
@fields.depends('calls', 'current_interest')
|
||||
def on_change_calls(self):
|
||||
if self.calls:
|
||||
@ -33,15 +38,23 @@ class ProspectTrace(ModelSQL, ModelView):
|
||||
else:
|
||||
last_call.call_type = CallTypes.get_call_types()[0][0]
|
||||
|
||||
def get_rec_name(self, name):
|
||||
if self.prospect:
|
||||
return '[' + str(self.id) + '] ' + self.prospect.name
|
||||
|
||||
@fields.depends('prospect')
|
||||
def on_change_prospect(self):
|
||||
if self.prospect:
|
||||
self.prospect_city = self.prospect.city
|
||||
|
||||
def get_rec_name(self, name):
|
||||
if self.prospect:
|
||||
return '[' + str(self.id) + '] ' + self.prospect.name
|
||||
|
||||
def _get_state(self, name):
|
||||
has_pending_calls = len(self.pending_calls) > 0
|
||||
|
||||
if has_pending_calls:
|
||||
return ProspectTraceStates.get_prospect_trace_states()[2][0]
|
||||
else:
|
||||
return ProspectTraceStates.get_prospect_trace_states()[1][0]
|
||||
|
||||
def _get_current_interest(self, name):
|
||||
if self.calls:
|
||||
return self.calls[-1].interest
|
||||
|
10
selections/prospect_trace_states.py
Normal file
10
selections/prospect_trace_states.py
Normal file
@ -0,0 +1,10 @@
|
||||
class ProspectTraceStates():
|
||||
@staticmethod
|
||||
def get_prospect_trace_states():
|
||||
states = [
|
||||
('unassigned', 'Unassigned'),
|
||||
('open', 'Open'),
|
||||
('with_pending_calls', 'With pending calls'),
|
||||
('closed', 'Closed')
|
||||
]
|
||||
return states
|
@ -170,6 +170,8 @@ Verificar estado final del seguimiento del prospecto y sus llamadas
|
||||
[proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2), proteus.Model.get('sale.call')(3)]
|
||||
>>> prospect_trace.current_interest
|
||||
'3'
|
||||
>>> prospect_trace.state
|
||||
'open'
|
||||
|
||||
Programar una próxima llamada pendiente al seguimiento de prospecto::
|
||||
>>> pending_call1 = prospect_trace.pending_calls.new(date = date.today() + timedelta(days=7))
|
||||
@ -178,6 +180,10 @@ Programar una próxima llamada pendiente al seguimiento de prospecto::
|
||||
>>> prospect_trace.pending_calls
|
||||
[proteus.Model.get('sale.pending_call')(1)]
|
||||
|
||||
>>> prospect_trace.state
|
||||
'with_pending_calls'
|
||||
|
||||
|
||||
--------
|
||||
Reportes
|
||||
--------
|
||||
|
Loading…
Reference in New Issue
Block a user