diff --git a/prospect.py b/prospect.py index 2024f43..2b4150c 100644 --- a/prospect.py +++ b/prospect.py @@ -83,7 +83,7 @@ class ContactMethod(ModelSQL, ModelView): tasks = fields.Many2Many( 'sale.pendingtask_contactmethod', 'contact_method_id', 'pending_task_id', - 'Contact Methods') + 'Tasks') @classmethod def default_contact_type(cls): @@ -92,8 +92,11 @@ class ContactMethod(ModelSQL, ModelView): def update_collaborators(self, changed_from): if (changed_from == 'prospect'): self.prospect_trace = self.prospect.prospect_trace + if (self.prospect_trace): + self.tasks = self.prospect.prospect_trace.tasks if (changed_from == 'prospect_trace'): self.prospect = self.prospect_trace.prospect + self.tasks = self.prospect_trace.tasks def get_rec_name(self, name): fields = [self.name, self.job, self.value] diff --git a/prospect_trace.py b/prospect_trace.py index ba99546..04c2cfb 100644 --- a/prospect_trace.py +++ b/prospect_trace.py @@ -36,6 +36,9 @@ class ProspectTrace(ModelSQL, ModelView): 'sale.call', 'prospect_trace', 'Calls', states=_states) pending_call = fields.Many2One( 'sale.pending_call', 'Pending call', states=_states) + tasks = fields.One2Many( + 'sale.pending_task', 'prospect_trace', + 'Pending Tasks', states=_states) current_interest = fields.Selection( Interest.get_interest_levels(), 'Current interest', diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index 9f3faac..de3da3b 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -389,7 +389,7 @@ Crear un usuario de rol administrador:: >>> admin.save() >>> admin.user_admin == 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()