diff --git a/prospect_trace.py b/prospect_trace.py
index 12675f5..0ed394c 100644
--- a/prospect_trace.py
+++ b/prospect_trace.py
@@ -57,8 +57,11 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
cls._buttons.update({
'wizard_schedule': {
'invisible': Eval('state') == 'with_pending_calls',
- },
- 'wizard_make_call': {}
+ },
+ 'wizard_make_call': {},
+ 'close_trace': {
+ 'invisible': Eval('state') == 'closed'
+ }
})
@classmethod
@@ -77,6 +80,13 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
def wizard_make_call(cls, prospect_traces):
pass
+ @classmethod
+ @ModelView.button
+ def close_trace(cls, prospect_traces):
+ for prospect_trace in prospect_traces:
+ prospect_trace.state = 'closed'
+ prospect_trace.save()
+
def get_rec_name(self, name):
if self.prospect:
return '[' + str(self.id) + '] ' + self.prospect.name
diff --git a/prospect_trace.xml b/prospect_trace.xml
index 8115643..c130103 100644
--- a/prospect_trace.xml
+++ b/prospect_trace.xml
@@ -90,5 +90,10 @@ this repository contains the full copyright notices and license terms. -->
+
+ close_trace
+ Close trace
+
+
\ No newline at end of file
diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst
index cab4062..869b0ba 100644
--- a/tests/scenario_sale_opportunity_management.rst
+++ b/tests/scenario_sale_opportunity_management.rst
@@ -257,7 +257,7 @@ Programar una próxima llamada pendiente al seguimiento de prospecto::
Crear una llamada agendada previamente::
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
>>> make_call.form.description = 'Fourth call to the prospect'
- >>> make_call.form.interest = '4'
+ >>> make_call.form.interest = '2'
>>> make_call.execute('make_call')
>>> prospect_trace.pending_call
@@ -265,6 +265,15 @@ Crear una llamada agendada previamente::
>>> prospect_trace.state
'open'
+Hacer llamada y cerrar venta (Seguimiento de prospecto)::
+ >>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
+ >>> make_call.form.description = 'Closed sale'
+ >>> make_call.form.interest = '4'
+ >>> make_call.execute('make_call')
+ >>> prospect_trace.click('close_trace')
+
+ >>> prospect_trace.state
+ 'closed'
Reasignar prospectos por operador::
>>> operator2 = User();