feat: Se añade estados al prospecto

This commit is contained in:
sinergia 2023-08-13 18:39:49 -05:00
parent 0be22b3298
commit b479e83d8c
3 changed files with 95 additions and 5 deletions

View File

@ -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'

View File

@ -36,6 +36,73 @@ this repository contains the full copyright notices and license terms. -->
id="menu_prospects_tree"
action="act_prospect_tree"/>
<record model="ir.action.act_window" id="act_prospect_unassigned_tree">
<field name="name">Unassigned</field>
<field name="res_model">sale.prospect</field>
<field name="domain" eval="[('state', '=', 'unassigned')]" pyson="1"/>
</record>
<record model="ir.ui.view" id="prospect_unassigned_view_tree">
<field name="model">sale.prospect</field>
<field name="type">tree</field>
<field name="name">prospect_tree</field>
</record>
<record model="ir.ui.view" id="prospect_unassigned_view_form">
<field name="model">sale.prospect</field>
<field name="type">form</field>
<field name="name">prospect_form</field>
</record>
<record model="ir.action.act_window.view" id="act_prospect_unassigned_tree_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="prospect_unassigned_view_tree"/>
<field name="act_window" ref="act_prospect_unassigned_tree"/>
</record>
<record model="ir.action.act_window.view" id="act_prospect_unassigned_form_view1">
<field name="sequence" eval="20"/>
<field name="view" ref="prospect_view_form"/>
<field name="act_window" ref="act_prospect_unassigned_tree"/>
</record>
<menuitem
parent="menu_prospects_tree"
sequence="10"
id="menu_prospects_unassigned_tree"
action="act_prospect_unassigned_tree"/>
<record model="ir.action.act_window" id="act_prospect_assigned_tree">
<field name="name">Assigned</field>
<field name="res_model">sale.prospect</field>
<field name="domain" eval="[('state', '=', 'assigned')]" pyson="1"/>
</record>
<record model="ir.ui.view" id="prospect_assigned_view_tree">
<field name="model">sale.prospect</field>
<field name="type">tree</field>
<field name="name">prospect_tree</field>
</record>
<record model="ir.ui.view" id="prospect_assigned_view_form">
<field name="model">sale.prospect</field>
<field name="type">form</field>
<field name="name">prospect_form</field>
</record>
<record model="ir.action.act_window.view" id="act_prospect_assigned_tree_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="prospect_assigned_view_tree"/>
<field name="act_window" ref="act_prospect_assigned_tree"/>
</record>
<record model="ir.action.act_window.view" id="act_prospect_assigned_form_view1">
<field name="sequence" eval="20"/>
<field name="view" ref="prospect_view_form"/>
<field name="act_window" ref="act_prospect_assigned_tree"/>
</record>
<menuitem
parent="menu_prospects_tree"
sequence="10"
id="menu_prospects_assigned_tree"
action="act_prospect_assigned_tree"/>
<record model="ir.action.act_window" id="act_contact_method_tree">
<field name="name">Contact method</field>
@ -64,4 +131,4 @@ this repository contains the full copyright notices and license terms. -->
<field name="act_window" ref="act_contact_method_tree"/>
</record>
</data>
</tryton>
</tryton>

View File

@ -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
* Seguimiento de prospecto al que pertenecen las llamadas