Compare commits

..

No commits in common. "a1d1e019ecf922aa14e2369b2c536ecc7b202927" and "5873d35f12e65802130d5fb9599070420ed6589d" have entirely different histories.

4 changed files with 11 additions and 64 deletions

View File

@ -28,7 +28,6 @@ def register():
prospect_trace.MakeCallAskTask, prospect_trace.MakeCallAskTask,
prospect.ReassignProspectByOperatorStart, prospect.ReassignProspectByOperatorStart,
prospect.ReassignProspectByProspectStart, prospect.ReassignProspectByProspectStart,
call.PendingTask_ContactMethod,
module='sale_opportunity_management', type_='model') module='sale_opportunity_management', type_='model')
Pool.register( Pool.register(
prospect_trace.ScheduleCall, prospect_trace.ScheduleCall,

15
call.py
View File

@ -67,10 +67,8 @@ class PendingTask(ModelSQL, ModelView):
'sale.prospect_trace', 'Prospect trace', 'sale.prospect_trace', 'Prospect trace',
required=True, readonly=True) required=True, readonly=True)
contacts = fields.Many2Many( contacts = fields.One2Many(
'sale.pendingtask_contactmethod', 'prospect.contact_method', 'task', 'Contacts', readonly=True)
'pending_task_id', 'contact_method_id',
'Contact Methods')
@classmethod @classmethod
def __setup__(cls): def __setup__(cls):
@ -91,12 +89,3 @@ class PendingTask(ModelSQL, ModelView):
@classmethod @classmethod
def default_state(cls): def default_state(cls):
return 'pending' 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')

View File

@ -51,11 +51,6 @@ class Prospect(ModelSQL, ModelView, DeactivableMixin):
def default_state(cls): def default_state(cls):
return 'unassigned' return 'unassigned'
@fields.depends('prospect_trace', 'contact_methods')
def on_change_contact_methods(self):
for contact in self.contact_methods:
contact.prospect_trace = self.prospect_trace
@fields.depends('city', 'department') @fields.depends('city', 'department')
def on_change_city(self): def on_change_city(self):
if self.city: if self.city:
@ -79,11 +74,7 @@ class ContactMethod(ModelSQL, ModelView):
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True) prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
prospect_trace = fields.Many2One( prospect_trace = fields.Many2One(
'sale.prospect_trace', 'Prospect Trace', required=False) '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 @classmethod
def default_contact_type(cls): def default_contact_type(cls):

View File

@ -287,42 +287,18 @@ Hacer llamada y programar tarea::
>>> make_call.execute('schedule_task') >>> make_call.execute('schedule_task')
>>> Task = Model.get('sale.pending_task') >>> Task = Model.get('sale.pending_task')
>>> task1, = Task.find([('description', '=', 'I have to send a mail to prospect offering him this services...')]) >>> task, = Task.find([('description', '=', 'I have to send a mail to prospect offering him this services...')])
>>> task
>>> task1
proteus.Model.get('sale.pending_task')(1) proteus.Model.get('sale.pending_task')(1)
>>> task1.state
>>> task.state
'pending' 'pending'
>>> task1.click('close_task') >>> task.click('close_task')
>>> task.state
>>> task1.state
'done' 'done'
>>> task1.contacts[0].value >>> task.contacts[0].value == prospect_trace.prospect_contacts[0].value
'12345678910' True
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):: Hacer llamada y cerrar venta (Seguimiento de prospecto)::
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace]) >>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
@ -390,14 +366,6 @@ Crear un usuario de rol administrador::
>>> admin.user_admin == True >>> admin.user_admin == True
True True
Agregar un nuevo método de contacto desde prospecto
>>> contact_method = prospect1.contact_methods.new(value='0000000000', name='Nuevo', job='Puesto increíble')
>>> prospect1.save()
>>> prospect1.contact_methods[-1].value
'0000000000'
>>> prospect_trace.prospect_contacts[-1].value
'0000000000'
-------- --------
Reportes Reportes