diff --git a/prospect.py b/prospect.py
index 33dbd4c..9be2056 100644
--- a/prospect.py
+++ b/prospect.py
@@ -36,6 +36,38 @@ class Prospect(ModelSQL, ModelView):
('unassigned', 'Unsassigned'),
('assigned', 'Assigned')], "State", readonly=True)
+ 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'
diff --git a/prospect.xml b/prospect.xml
index aa923ff..f5ec215 100644
--- a/prospect.xml
+++ b/prospect.xml
@@ -142,5 +142,11 @@ this repository contains the full copyright notices and license terms. -->
sequence="40"
id="menu_prospects_assigned_wizard"
action="assign_operator_wizard"/>
+
+