diff --git a/__init__.py b/__init__.py
index 088e8f8..084d20e 100644
--- a/__init__.py
+++ b/__init__.py
@@ -21,6 +21,7 @@ def register():
prospect.AssignOperatorStart,
prospect_trace.ScheduleCallStart,
prospect_trace.MakeCallStart,
+ prospect_trace.MakeCallAsk,
prospect.ReassignProspectByOperatorStart,
prospect.ReassignProspectByProspectStart,
module='sale_opportunity_management', type_='model')
diff --git a/prospect_trace.py b/prospect_trace.py
index 50c36fd..a28715e 100644
--- a/prospect_trace.py
+++ b/prospect_trace.py
@@ -121,6 +121,15 @@ class MakeCallStart(ModelView):
description = fields.Text('Description')
interest = fields.Selection(
Interest.get_interest_levels(), 'Interest', required=True)
+ schedule_call = fields.Selection(
+ [('yes', 'Yes'),
+ ('no', 'No')], 'Schedule call?', required=True)
+
+
+class MakeCallAsk(ModelView):
+ 'Posible agendación de llamada luego de hacer llamada actual'
+ __name__ = 'sale.prospect_trace.make_call.ask'
+ datetime = fields.DateTime('Date time')
class MakeCall(Wizard):
@@ -132,9 +141,16 @@ class MakeCall(Wizard):
'sale_opportunity_management.make_call_start_view_form', [
Button("Cancel", 'end', 'tryton-cancel'),
Button("Make call", 'make_call', 'tryton-ok', default=True)])
-
make_call = StateTransition()
+ ask = StateView(
+ 'sale.prospect_trace.make_call.ask',
+ 'sale_opportunity_management.make_call_ask_view_form', [
+ Button("Cancel", 'end', 'tryton-cancel'),
+ Button(
+ "Schedule call", 'schedule_call', 'tryton-ok', default=True)])
+ schedule_call = StateTransition()
+
def transition_make_call(self):
prospect_trace = self.record
@@ -167,4 +183,21 @@ class MakeCall(Wizard):
prospect_trace.calls += (call,)
prospect_trace.save()
+ if self.start.schedule_call == 'yes':
+ return 'ask'
+
+ return 'end'
+
+ def transition_schedule_call(self):
+ pool = Pool()
+ PendingCall = pool.get('sale.pending_call')
+ pending_call = PendingCall()
+ pending_call.date = self.ask.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/prospect_trace.xml b/prospect_trace.xml
index 58cf1f4..f8be54a 100644
--- a/prospect_trace.xml
+++ b/prospect_trace.xml
@@ -84,5 +84,12 @@ this repository contains the full copyright notices and license terms. -->