feat: Se crea botón para iniciar seguimiento de prospecto
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Camilo Gonzalez 2023-08-26 20:38:40 -05:00
parent 082d070643
commit 27dcca74bc
7 changed files with 43 additions and 18 deletions

View File

@ -36,6 +36,38 @@ class Prospect(ModelSQL, ModelView):
('unassigned', 'Unsassigned'),
('assigned', 'Assigned')], "State", readonly=True)
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
def default_state(cls):
return 'unassigned'

View File

@ -142,5 +142,11 @@ this repository contains the full copyright notices and license terms. -->
sequence="40"
id="menu_prospects_assigned_wizard"
action="assign_operator_wizard"/>
<record model="ir.model.button" id="start_trace_button">
<field name="name">start_trace</field>
<field name="string">Start trace</field>
<field name="model" search="[('model', '=', 'sale.prospect')]"/>
</record>
</data>
</tryton>

View File

@ -15,7 +15,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
_states = {'readonly': True}
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
prospect = fields.Many2One(
'sale.prospect', 'Prospect', required=True, states=_states)
prospect_business_unit = fields.Selection(
[('brigade', 'Brigade'),
('optics', 'Optics'),

View File

@ -179,8 +179,9 @@ Seguimiento de prospecto 2
Crear seguimiento de prospecto::
>>> ProspectTrace = Model.get('sale.prospect_trace')
>>> prospect_trace = ProspectTrace()
>>> prospect1.click('start_trace')
>>> prospect_trace = ProspectTrace()
>>> prospect_trace.prospect = prospect1
>>> prospect_trace.save()

View File

@ -1,8 +0,0 @@
<?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>
<label name="date"/>
<field name="date" widget='date'/>
<field name="date" widget='time'/>
</form>

View File

@ -1,7 +0,0 @@
<?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. -->
<tree>
<field name="date" widget='date' expand="1"/>
<field name="date" widget='time' expand="1"/>
</tree>

View File

@ -7,5 +7,5 @@ this repository contains the full copyright notices and license terms. -->
<field name="department" expand="1"/>
<field name="city" expand="1"/>
<field name="assigned_operator" expand="1"/>
<field name="contact_methods" expand="1"/>
<button name="start_trace"/>
</tree>