feat: Se implementa cierre de seguimiento en las pruebas, #64
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
parent
1a469a5106
commit
8c1ed18530
@ -57,8 +57,11 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
cls._buttons.update({
|
cls._buttons.update({
|
||||||
'wizard_schedule': {
|
'wizard_schedule': {
|
||||||
'invisible': Eval('state') == 'with_pending_calls',
|
'invisible': Eval('state') == 'with_pending_calls',
|
||||||
},
|
},
|
||||||
'wizard_make_call': {}
|
'wizard_make_call': {},
|
||||||
|
'close_trace': {
|
||||||
|
'invisible': Eval('state') == 'closed'
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -77,6 +80,13 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
def wizard_make_call(cls, prospect_traces):
|
def wizard_make_call(cls, prospect_traces):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
@ModelView.button
|
||||||
|
def close_trace(cls, prospect_traces):
|
||||||
|
for prospect_trace in prospect_traces:
|
||||||
|
prospect_trace.state = 'closed'
|
||||||
|
prospect_trace.save()
|
||||||
|
|
||||||
def get_rec_name(self, name):
|
def get_rec_name(self, name):
|
||||||
if self.prospect:
|
if self.prospect:
|
||||||
return '[' + str(self.id) + '] ' + self.prospect.name
|
return '[' + str(self.id) + '] ' + self.prospect.name
|
||||||
|
@ -90,5 +90,10 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="model" search="[('model', '=', 'sale.prospect_trace')]"/>
|
<field name="model" search="[('model', '=', 'sale.prospect_trace')]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.model.button" id="close_trace_button">
|
||||||
|
<field name="name">close_trace</field>
|
||||||
|
<field name="string">Close trace</field>
|
||||||
|
<field name="model" search="[('model', '=', 'sale.prospect_trace')]"/>
|
||||||
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</tryton>
|
</tryton>
|
@ -257,7 +257,7 @@ Programar una próxima llamada pendiente al seguimiento de prospecto::
|
|||||||
Crear una llamada agendada previamente::
|
Crear una llamada agendada previamente::
|
||||||
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
||||||
>>> make_call.form.description = 'Fourth call to the prospect'
|
>>> make_call.form.description = 'Fourth call to the prospect'
|
||||||
>>> make_call.form.interest = '4'
|
>>> make_call.form.interest = '2'
|
||||||
>>> make_call.execute('make_call')
|
>>> make_call.execute('make_call')
|
||||||
|
|
||||||
>>> prospect_trace.pending_call
|
>>> prospect_trace.pending_call
|
||||||
@ -265,6 +265,15 @@ Crear una llamada agendada previamente::
|
|||||||
>>> prospect_trace.state
|
>>> prospect_trace.state
|
||||||
'open'
|
'open'
|
||||||
|
|
||||||
|
Hacer llamada y cerrar venta (Seguimiento de prospecto)::
|
||||||
|
>>> make_call = Wizard('sale.prospect_trace.make_call', [prospect_trace])
|
||||||
|
>>> make_call.form.description = 'Closed sale'
|
||||||
|
>>> make_call.form.interest = '4'
|
||||||
|
>>> make_call.execute('make_call')
|
||||||
|
>>> prospect_trace.click('close_trace')
|
||||||
|
|
||||||
|
>>> prospect_trace.state
|
||||||
|
'closed'
|
||||||
|
|
||||||
Reasignar prospectos por operador::
|
Reasignar prospectos por operador::
|
||||||
>>> operator2 = User();
|
>>> operator2 = User();
|
||||||
|
Loading…
Reference in New Issue
Block a user