fix: al crear segunda tarea al mismo seguimiento se pierden los contact_methods de la anterior
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
3be97677a7
commit
a1d1e019ec
@ -28,6 +28,7 @@ def register():
|
||||
prospect_trace.MakeCallAskTask,
|
||||
prospect.ReassignProspectByOperatorStart,
|
||||
prospect.ReassignProspectByProspectStart,
|
||||
call.PendingTask_ContactMethod,
|
||||
module='sale_opportunity_management', type_='model')
|
||||
Pool.register(
|
||||
prospect_trace.ScheduleCall,
|
||||
|
15
call.py
15
call.py
@ -67,8 +67,10 @@ class PendingTask(ModelSQL, ModelView):
|
||||
'sale.prospect_trace', 'Prospect trace',
|
||||
required=True, readonly=True)
|
||||
|
||||
contacts = fields.One2Many(
|
||||
'prospect.contact_method', 'task', 'Contacts', readonly=True)
|
||||
contacts = fields.Many2Many(
|
||||
'sale.pendingtask_contactmethod',
|
||||
'pending_task_id', 'contact_method_id',
|
||||
'Contact Methods')
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
@ -89,3 +91,12 @@ class PendingTask(ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def default_state(cls):
|
||||
return 'pending'
|
||||
|
||||
|
||||
class PendingTask_ContactMethod(ModelSQL):
|
||||
'Relacion muchos a muchos entre tareas pendientes y mecanismos de contacto'
|
||||
__name__ = "sale.pendingtask_contactmethod"
|
||||
|
||||
pending_task_id = fields.Many2One('sale.pending_task', 'Pending task id')
|
||||
contact_method_id = fields.Many2One(
|
||||
'prospect.contact_method', 'Contact method id')
|
||||
|
@ -79,7 +79,11 @@ class ContactMethod(ModelSQL, ModelView):
|
||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||
prospect_trace = fields.Many2One(
|
||||
'sale.prospect_trace', 'Prospect Trace', required=False)
|
||||
task = fields.Many2One('sale.pending_task', 'task ', required=False)
|
||||
|
||||
tasks = fields.Many2Many(
|
||||
'sale.pendingtask_contactmethod',
|
||||
'contact_method_id', 'pending_task_id',
|
||||
'Contact Methods')
|
||||
|
||||
@classmethod
|
||||
def default_contact_type(cls):
|
||||
|
@ -287,18 +287,42 @@ Hacer llamada y programar tarea::
|
||||
>>> make_call.execute('schedule_task')
|
||||
|
||||
>>> Task = Model.get('sale.pending_task')
|
||||
>>> task, = Task.find([('description', '=', 'I have to send a mail to prospect offering him this services...')])
|
||||
>>> task
|
||||
proteus.Model.get('sale.pending_task')(1)
|
||||
>>> task1, = Task.find([('description', '=', 'I have to send a mail to prospect offering him this services...')])
|
||||
|
||||
>>> task.state
|
||||
>>> task1
|
||||
proteus.Model.get('sale.pending_task')(1)
|
||||
>>> task1.state
|
||||
'pending'
|
||||
|
||||
>>> task.click('close_task')
|
||||
>>> task.state
|
||||
>>> task1.click('close_task')
|
||||
|
||||
>>> task1.state
|
||||
'done'
|
||||
>>> task.contacts[0].value == prospect_trace.prospect_contacts[0].value
|
||||
True
|
||||
>>> task1.contacts[0].value
|
||||
'12345678910'
|
||||
|
||||
Programar segunda tarea al mismo seguimiento::
|
||||
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
||||
>>> make_call.form.description = 'Prospect told me to send him an SMS'
|
||||
>>> make_call.form.interest = '3'
|
||||
>>> make_call.form.schedule_call = 'no'
|
||||
>>> make_call.form.schedule_task = 'yes'
|
||||
>>> make_call.execute('make_call')
|
||||
>>> make_call.form.task_description = 'I have to send a SMS to prospect offering him this services...'
|
||||
>>> make_call.execute('schedule_task')
|
||||
|
||||
>>> task1.save()
|
||||
>>> Task = Model.get('sale.pending_task')
|
||||
>>> task2, = Task.find([('description', '=', 'I have to send a SMS to prospect offering him this services...')])
|
||||
>>> task2
|
||||
proteus.Model.get('sale.pending_task')(2)
|
||||
|
||||
>>> task2.state
|
||||
'pending'
|
||||
>>> task2.contacts[0].value
|
||||
'12345678910'
|
||||
>>> task1.contacts[0].value
|
||||
'12345678910'
|
||||
|
||||
Hacer llamada y cerrar venta (Seguimiento de prospecto)::
|
||||
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
||||
|
Loading…
Reference in New Issue
Block a user