diff --git a/prospect_trace.py b/prospect_trace.py index a28715e..ea14195 100644 --- a/prospect_trace.py +++ b/prospect_trace.py @@ -100,17 +100,7 @@ class ScheduleCall(Wizard): schedule = StateTransition() def transition_schedule(self): - pool = Pool() - PendingCall = pool.get('sale.pending_call') - pending_call = PendingCall() - pending_call.date = self.start.date_time - pending_call.save() - - prospect_trace = self.record - prospect_trace.pending_call = pending_call - prospect_trace.state = 'with_pending_calls' - prospect_trace.save() - + MakeCall.create_schedule_call(self.start.date_time, self.record) return 'end' @@ -189,15 +179,17 @@ class MakeCall(Wizard): return 'end' def transition_schedule_call(self): + self.create_schedule_call(self.ask.datetime, self.record) + return 'end' + + @classmethod + def create_schedule_call(cls, datetime, prospect_trace): pool = Pool() PendingCall = pool.get('sale.pending_call') pending_call = PendingCall() - pending_call.date = self.ask.datetime + pending_call.date = datetime pending_call.save() - prospect_trace = self.record prospect_trace.pending_call = pending_call prospect_trace.state = 'with_pending_calls' prospect_trace.save() - - return 'end' diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index 01d423d..7451845 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -247,7 +247,7 @@ Verificar estado final del seguimiento del prospecto y sus llamadas:: Programar una próxima llamada pendiente al seguimiento de prospecto:: >>> schedule = Wizard('sale.prospect_trace.schedule', [prospect_trace]) - >>> schedule.form.date_time = datetime(2`023, 8, 14, 15, 30, 30) + >>> schedule.form.date_time = datetime(2023, 8, 14, 15, 30, 30) >>> schedule.execute('schedule') >>> prospect_trace.pending_call.date