feat: Se inicia seguimiento automáticamente luego de asignar operario, closed #61
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
543a52303c
commit
8ec3e4b983
45
prospect.py
45
prospect.py
@ -38,36 +38,6 @@ class Prospect(ModelSQL, ModelView):
|
|||||||
|
|
||||||
prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
|
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
|
@classmethod
|
||||||
def default_state(cls):
|
def default_state(cls):
|
||||||
return 'unassigned'
|
return 'unassigned'
|
||||||
@ -161,11 +131,26 @@ class AssignOperator(Wizard):
|
|||||||
assign = StateTransition()
|
assign = StateTransition()
|
||||||
|
|
||||||
def transition_assign(self):
|
def transition_assign(self):
|
||||||
|
pool = Pool()
|
||||||
|
ProspectTrace = pool.get('sale.prospect_trace')
|
||||||
|
|
||||||
for prospect in self.start.prospects:
|
for prospect in self.start.prospects:
|
||||||
prospect.assigned_operator = self.start.operator
|
prospect.assigned_operator = self.start.operator
|
||||||
prospect.state = 'assigned'
|
prospect.state = 'assigned'
|
||||||
prospect.save()
|
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'
|
return 'end'
|
||||||
|
|
||||||
|
|
||||||
|
@ -177,9 +177,8 @@ Seguimiento de prospecto 2
|
|||||||
* Seguimiento de prospecto al que pertence
|
* Seguimiento de prospecto al que pertence
|
||||||
|
|
||||||
|
|
||||||
Crear seguimiento de prospecto::
|
Verificar creación de seguimiento de prospecto::
|
||||||
>>> ProspectTrace = Model.get('sale.prospect_trace')
|
>>> ProspectTrace = Model.get('sale.prospect_trace')
|
||||||
>>> prospect1.click('start_trace')
|
|
||||||
>>> prospect_trace, = ProspectTrace.find([('prospect', '=', prospect1)])
|
>>> prospect_trace, = ProspectTrace.find([('prospect', '=', prospect1)])
|
||||||
|
|
||||||
>>> prospect_trace.prospect.name
|
>>> prospect_trace.prospect.name
|
||||||
@ -280,6 +279,7 @@ Reasignar prospectos por operador::
|
|||||||
>>> reassign_by_operator.form.new_operator = operator2
|
>>> reassign_by_operator.form.new_operator = operator2
|
||||||
>>> reassign_by_operator.execute('reassign_by_operator')
|
>>> reassign_by_operator.execute('reassign_by_operator')
|
||||||
|
|
||||||
|
>>> prospect1.reload()
|
||||||
>>> prospect1.assigned_operator.name
|
>>> prospect1.assigned_operator.name
|
||||||
'Operatus'
|
'Operatus'
|
||||||
|
|
||||||
|
@ -7,5 +7,4 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="department" expand="1"/>
|
<field name="department" expand="1"/>
|
||||||
<field name="city" expand="1"/>
|
<field name="city" expand="1"/>
|
||||||
<field name="assigned_operator" expand="1"/>
|
<field name="assigned_operator" expand="1"/>
|
||||||
<button name="start_trace"/>
|
|
||||||
</tree>
|
</tree>
|
Loading…
Reference in New Issue
Block a user