diff --git a/prospect.py b/prospect.py
index 3a957ee..a0c0e3c 100644
--- a/prospect.py
+++ b/prospect.py
@@ -20,11 +20,26 @@ class Prospect(ModelSQL, ModelView):
domain=[If(Eval('department'),
('parent', '=', Eval('department')))])
+ assigned_operator = fields.Many2One('res.user', "Assigned operator")
+
+ state = fields.Selection([
+ ('unassigned', 'Unsassigned'),
+ ('assigned', 'Assigned')], "State", readonly=True)
+
+ @classmethod
+ def default_state(cls):
+ return 'unassigned'
+
@fields.depends('city', 'department')
def on_change_city(self):
if self.city:
self.department = self.city.parent
+ @fields.depends('assigned_operator', 'state')
+ def on_change_assigned_operator(self):
+ if self.assigned_operator:
+ self.state = 'assigned'
+
class ContactMethod(ModelSQL, ModelView):
'Mecanismo de contacto'
diff --git a/prospect.xml b/prospect.xml
index 574c4c4..079735f 100644
--- a/prospect.xml
+++ b/prospect.xml
@@ -36,6 +36,73 @@ this repository contains the full copyright notices and license terms. -->
id="menu_prospects_tree"
action="act_prospect_tree"/>
+
+ Unassigned
+ sale.prospect
+
+
+
+
+ sale.prospect
+ tree
+ prospect_tree
+
+
+ sale.prospect
+ form
+ prospect_form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assigned
+ sale.prospect
+
+
+
+
+ sale.prospect
+ tree
+ prospect_tree
+
+
+ sale.prospect
+ form
+ prospect_form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Contact method
@@ -64,4 +131,4 @@ this repository contains the full copyright notices and license terms. -->
-
\ No newline at end of file
+
diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst
index e5c9fca..75de79f 100644
--- a/tests/scenario_sale_opportunity_management.rst
+++ b/tests/scenario_sale_opportunity_management.rst
@@ -74,11 +74,19 @@ Verificar estado final de creación de prospecto::
'CO-05001'
>>> prospect.department.code
'CO-05'
+ >>> prospect.state
+ 'unassigned'
+Asignar operario a un prospecto::
+ >>> User = Model.get('res.user')
+ >>> user, = User.find([('name', '=', 'Administrator')])
+ >>> prospect.assigned_operator = user
-
-
-
+ >>> prospect.assigned_operator.name
+ 'Administrator'
+ >>> prospect.state
+ 'assigned'
+
------------------------------------
Asignación de prospectos a operarios
------------------------------------
@@ -242,4 +250,4 @@ Reportes
* Reporte de prospectos potenciales
* llamadas con un nivel de interés alto
- * Seguimiento de prospecto al que pertenecen las llamadas
\ No newline at end of file
+ * Seguimiento de prospecto al que pertenecen las llamadas