fix: Un seguimiento a prospecto solo debe tener máximo una llamada agendada, closed #28
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
452b97cdf9
commit
1d38d797c5
@ -8,4 +8,4 @@ class PendingCall(ModelSQL, ModelView):
|
|||||||
__name__ = "sale.pending_call"
|
__name__ = "sale.pending_call"
|
||||||
|
|
||||||
date = fields.Date('Date', required=True)
|
date = fields.Date('Date', required=True)
|
||||||
prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
|
# prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
|
||||||
|
@ -18,8 +18,9 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
states={'readonly': True})
|
states={'readonly': True})
|
||||||
|
|
||||||
calls = fields.One2Many('sale.call', 'prospect_trace', 'Calls')
|
calls = fields.One2Many('sale.call', 'prospect_trace', 'Calls')
|
||||||
pending_calls = fields.One2Many(
|
# pending_calls = fields.One2Many(
|
||||||
'sale.pending_call', 'prospect_trace', 'Pending calls')
|
# 'sale.pending_call', 'prospect_trace', 'Pending calls')
|
||||||
|
pending_call = fields.Many2One('sale.pending_call', 'Pending call')
|
||||||
|
|
||||||
current_interest = fields.Selection(
|
current_interest = fields.Selection(
|
||||||
Interest.get_interest_levels(), 'Current interest')
|
Interest.get_interest_levels(), 'Current interest')
|
||||||
@ -35,7 +36,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
def default_state(cls):
|
def default_state(cls):
|
||||||
return 'open'
|
return 'open'
|
||||||
|
|
||||||
@fields.depends('calls', 'pending_calls', 'current_interest', 'state')
|
# 'pending_calls'
|
||||||
|
@fields.depends('calls', 'pending_call', 'current_interest', 'state')
|
||||||
def on_change_calls(self):
|
def on_change_calls(self):
|
||||||
if not self.calls:
|
if not self.calls:
|
||||||
return
|
return
|
||||||
@ -51,14 +53,13 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
first_call_type = CallTypes.get_call_types()[0][0]
|
first_call_type = CallTypes.get_call_types()[0][0]
|
||||||
last_call.call_type = first_call_type
|
last_call.call_type = first_call_type
|
||||||
|
|
||||||
there_is_a_pending_call = len(self.pending_calls) >= 1
|
if self.pending_call:
|
||||||
if there_is_a_pending_call:
|
self.pending_call = None
|
||||||
self.pending_calls = None
|
|
||||||
self.state = 'open'
|
self.state = 'open'
|
||||||
|
|
||||||
@fields.depends('pending_calls', 'state')
|
@fields.depends('pending_call', 'state')
|
||||||
def on_change_pending_calls(self):
|
def on_change_pending_call(self):
|
||||||
if len(self.pending_calls) >= 1:
|
if self.pending_call:
|
||||||
self.state = 'with_pending_calls'
|
self.state = 'with_pending_calls'
|
||||||
|
|
||||||
@fields.depends('prospect', 'prospect_city', 'prospect_contact')
|
@fields.depends('prospect', 'prospect_city', 'prospect_contact')
|
||||||
|
@ -200,20 +200,21 @@ Verificar estado final del seguimiento del prospecto y sus llamadas
|
|||||||
'open'
|
'open'
|
||||||
|
|
||||||
Programar una próxima llamada pendiente al seguimiento de prospecto::
|
Programar una próxima llamada pendiente al seguimiento de prospecto::
|
||||||
>>> pending_call4 = prospect_trace.pending_calls.new(date = date.today() + timedelta(days=7))
|
>>> PendingCall = Model.get('sale.pending_call')
|
||||||
>>> prospect_trace.save()
|
>>> pending_call = PendingCall()
|
||||||
|
>>> pending_call.date = date(year=2023, month=8, day=8)
|
||||||
>>> prospect_trace.pending_calls
|
>>> prospect_trace.pending_call = pending_call
|
||||||
[proteus.Model.get('sale.pending_call')(1)]
|
|
||||||
|
|
||||||
|
>>> prospect_trace.pending_call.date
|
||||||
|
datetime.date(2023, 8, 8)
|
||||||
>>> prospect_trace.state
|
>>> prospect_trace.state
|
||||||
'with_pending_calls'
|
'with_pending_calls'
|
||||||
|
|
||||||
Crear una llamada agendada previamente:
|
Crear una llamada agendada previamente:
|
||||||
>>> call4 = prospect_trace.calls.new(description='fourth call', interest='3')
|
>>> call4 = prospect_trace.calls.new(description='fourth call', interest='3')
|
||||||
|
|
||||||
>>> prospect_trace.pending_calls
|
>>> prospect_trace.pending_call
|
||||||
[]
|
|
||||||
>>> prospect_trace.state
|
>>> prospect_trace.state
|
||||||
'open'
|
'open'
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<label name="date"/>
|
<label name="date"/>
|
||||||
<field name="date"/>
|
<field name="date"/>
|
||||||
|
|
||||||
<label name="prospect_trace"/>
|
<!-- <label name="prospect_trace"/>
|
||||||
<field name="prospect_trace"/>
|
<field name="prospect_trace"/> -->
|
||||||
</form>
|
</form>
|
@ -3,5 +3,5 @@
|
|||||||
this repository contains the full copyright notices and license terms. -->
|
this repository contains the full copyright notices and license terms. -->
|
||||||
<tree>
|
<tree>
|
||||||
<field name="date" expand="1"/>
|
<field name="date" expand="1"/>
|
||||||
<field name="prospect_trace" expand="1"/>
|
<!-- <field name="prospect_trace" expand="1"/> -->
|
||||||
</tree>
|
</tree>
|
@ -25,7 +25,7 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
|
|
||||||
<field name="pending_calls" colspan="6"/>
|
<!-- <field name="pending_calls" colspan="6"/> -->
|
||||||
<label name="state"/>
|
<label name="state"/>
|
||||||
<field name="state"/>
|
<field name="state"/>
|
||||||
</form>
|
</form>
|
@ -7,5 +7,5 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="prospect_city" expand="1"/>
|
<field name="prospect_city" expand="1"/>
|
||||||
<field name="current_interest" expand="1"/>
|
<field name="current_interest" expand="1"/>
|
||||||
<field name="calls" expand="1"/>
|
<field name="calls" expand="1"/>
|
||||||
<field name="pending_calls" expand="1"/>
|
<!-- <field name="pending_calls" expand="1"/> -->
|
||||||
</tree>
|
</tree>
|
Loading…
Reference in New Issue
Block a user