feat: Se implementa reasignación de prospecto específico en las pruebas, #53
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
ed07f5fcbc
commit
2eb52e9dce
@ -22,12 +22,14 @@ def register():
|
||||
prospect_trace.ScheduleCallStart,
|
||||
prospect_trace.MakeCallStart,
|
||||
prospect.ReassignProspectByOperatorStart,
|
||||
prospect.ReassignProspectByProspectStart,
|
||||
module='sale_opportunity_management', type_='model')
|
||||
Pool.register(
|
||||
prospect_trace.ScheduleCall,
|
||||
prospect.AssignOperator,
|
||||
prospect_trace.MakeCall,
|
||||
prospect.ReassignProspectByOperator,
|
||||
prospect.ReasignProspectByProspect,
|
||||
module='sale_opportunity_management', type_='wizard')
|
||||
Pool.register(
|
||||
module='sale_opportunity_management', type_='report')
|
||||
|
42
prospect.py
42
prospect.py
@ -199,8 +199,8 @@ class ReassignProspectByOperator(Wizard):
|
||||
'sale.prospect.reassign_by_operator.start',
|
||||
'sale_opportunity_management.reassign_by_operator_start_view_form',
|
||||
[Button("Cancel", 'end', 'tryton-cancel'),
|
||||
Button(
|
||||
"Reassign", 'reassign_by_operator', 'tryton-ok', default=True)])
|
||||
Button("Reassign", 'reassign_by_operator', 'tryton-ok', default=True)
|
||||
])
|
||||
|
||||
reassign_by_operator = StateTransition()
|
||||
|
||||
@ -221,3 +221,41 @@ class ReassignProspectByOperator(Wizard):
|
||||
prospect.save()
|
||||
|
||||
return 'end'
|
||||
|
||||
|
||||
class ReassignProspectByProspectStart(ModelView):
|
||||
'Inicio de reasignación de un prospecto en específico'
|
||||
__name__ = 'sale.prospect.reassign_by_prospect.start'
|
||||
|
||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||
new_operator = fields.Many2One('res.user', "New operator", required=True)
|
||||
|
||||
|
||||
class ReasignProspectByProspect(Wizard):
|
||||
'Reasignar un prospecto en específico a un nuevo operario'
|
||||
__name__ = 'sale.prospect.reassign_by_prospect'
|
||||
|
||||
start = StateView(
|
||||
'sale.prospect.reassign_by_prospect.start',
|
||||
'sale_opportunity_management.reassign_by_prospect_start_view_form',
|
||||
[Button("Cancel", 'end', 'tryton-cancel'),
|
||||
Button("Reassign", 'reassign_by_prospect', 'tryton-ok', default=True)
|
||||
])
|
||||
|
||||
reassign_by_prospect = StateTransition()
|
||||
|
||||
def transition_reassign_by_prospect(self):
|
||||
pool = Pool()
|
||||
ProspectTrace = pool.get('sale.prospect_trace')
|
||||
|
||||
self.start.prospect.assigned_operator = self.start.new_operator
|
||||
|
||||
if self.start.prospect.prospect_trace:
|
||||
prospect_trace, = ProspectTrace.search(
|
||||
[('prospect', '=', self.start.prospect)])
|
||||
prospect_trace.prospect_assigned_operator =\
|
||||
self.start.new_operator
|
||||
prospect_trace.save()
|
||||
|
||||
self.start.prospect.save()
|
||||
return 'end'
|
||||
|
@ -164,5 +164,11 @@ this repository contains the full copyright notices and license terms. -->
|
||||
sequence="50"
|
||||
id="menu_reassign_by_operator_wizard"
|
||||
action="reassign_by_operator_wizard"/>
|
||||
|
||||
<record model="ir.ui.view" id="reassign_by_prospect_start_view_form">
|
||||
<field name="model">sale.prospect.reassign_by_prospect.start</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">reassign_by_prospect_form</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
|
@ -283,6 +283,22 @@ Reasignar prospectos por operador::
|
||||
>>> prospect_trace.calls[0].call_assigned_operator.name
|
||||
'Administrator'
|
||||
|
||||
Reasignar prospectos por prospecto::
|
||||
>>> reassign_by_prospect = Wizard('sale.prospect.reassign_by_prospect', [])
|
||||
>>> reassign_by_prospect.form.prospect = prospect1
|
||||
>>> reassign_by_prospect.form.new_operator = user
|
||||
>>> reassign_by_prospect.execute('reassign_by_prospect')
|
||||
|
||||
|
||||
>>> prospect1.reload()
|
||||
>>> prospect1.assigned_operator.name
|
||||
'Administrator'
|
||||
>>> prospect_trace.reload()
|
||||
>>> prospect_trace.prospect_assigned_operator.name
|
||||
'Administrator'
|
||||
>>> prospect_trace.calls[0].call_assigned_operator.name
|
||||
'Administrator'
|
||||
|
||||
--------
|
||||
Reportes
|
||||
--------
|
||||
|
6
view/reassign_by_prospect_form.xml
Normal file
6
view/reassign_by_prospect_form.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
|
||||
</form>
|
Loading…
Reference in New Issue
Block a user