diff --git a/prospect.py b/prospect.py
index 14070be..ea777f0 100644
--- a/prospect.py
+++ b/prospect.py
@@ -38,36 +38,6 @@ class Prospect(ModelSQL, ModelView):
prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
- @classmethod
- def __setup__(cls):
- super(Prospect, cls).__setup__()
- cls._buttons.update({
- 'start_trace': {
- 'invisible': Eval('state') == 'unassigned'
- }
- })
-
- @classmethod
- @ModelView.button
- def start_trace(cls, prospects):
- pool = Pool()
- ProspectTrace = pool.get('sale.prospect_trace')
- for prospect in prospects:
- if prospect.prospect_trace:
- return
-
- prospect_trace = ProspectTrace(
- prospect=prospect,
- prospect_city=prospect.city,
- prospect_business_unit=prospect.business_unit,
- prospect_assigned_operator=prospect.assigned_operator,
- prospect_contacts=prospect.contact_methods
- )
- prospect_trace.save()
-
- prospect.prospect_trace = prospect_trace
- prospect.save()
-
@classmethod
def default_state(cls):
return 'unassigned'
@@ -161,11 +131,26 @@ class AssignOperator(Wizard):
assign = StateTransition()
def transition_assign(self):
+ pool = Pool()
+ ProspectTrace = pool.get('sale.prospect_trace')
+
for prospect in self.start.prospects:
prospect.assigned_operator = self.start.operator
prospect.state = 'assigned'
prospect.save()
+ prospect_trace = ProspectTrace(
+ prospect=prospect,
+ prospect_city=prospect.city,
+ prospect_business_unit=prospect.business_unit,
+ prospect_assigned_operator=prospect.assigned_operator,
+ prospect_contacts=prospect.contact_methods
+ )
+ prospect_trace.save()
+
+ prospect.prospect_trace = prospect_trace
+ prospect.save()
+
return 'end'
diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst
index 7451845..da358ad 100644
--- a/tests/scenario_sale_opportunity_management.rst
+++ b/tests/scenario_sale_opportunity_management.rst
@@ -177,9 +177,8 @@ Seguimiento de prospecto 2
* Seguimiento de prospecto al que pertence
-Crear seguimiento de prospecto::
+Verificar creación de seguimiento de prospecto::
>>> ProspectTrace = Model.get('sale.prospect_trace')
- >>> prospect1.click('start_trace')
>>> prospect_trace, = ProspectTrace.find([('prospect', '=', prospect1)])
>>> prospect_trace.prospect.name
@@ -280,6 +279,7 @@ Reasignar prospectos por operador::
>>> reassign_by_operator.form.new_operator = operator2
>>> reassign_by_operator.execute('reassign_by_operator')
+ >>> prospect1.reload()
>>> prospect1.assigned_operator.name
'Operatus'
diff --git a/view/prospect_tree.xml b/view/prospect_tree.xml
index bd36f14..b868fc9 100644
--- a/view/prospect_tree.xml
+++ b/view/prospect_tree.xml
@@ -7,5 +7,4 @@ this repository contains the full copyright notices and license terms. -->
-
\ No newline at end of file