feat(ProspectTrace): Se agrega campo para todos los contactos del prospecto
This commit is contained in:
parent
05ae82839b
commit
1ece8ae959
@ -61,6 +61,8 @@ class ContactMethod(ModelSQL, ModelView):
|
|||||||
job = fields.Char('job')
|
job = fields.Char('job')
|
||||||
|
|
||||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||||
|
prospect_trace = fields.Many2One(
|
||||||
|
'sale.prospect_trace', 'Prospect Trace', required=False)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default_contact_type(cls):
|
def default_contact_type(cls):
|
||||||
|
@ -16,13 +16,17 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
_states = {'readonly': True}
|
_states = {'readonly': True}
|
||||||
|
|
||||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||||
|
|
||||||
prospect_business_unit = fields.Selection(
|
prospect_business_unit = fields.Selection(
|
||||||
[('brigade', 'Brigade'),
|
[('brigade', 'Brigade'),
|
||||||
('optics', 'Optics'),
|
('optics', 'Optics'),
|
||||||
('equipment', 'Equipment')],
|
('equipment', 'Equipment')],
|
||||||
'Business unit', states=_states
|
'Business unit', states=_states
|
||||||
)
|
)
|
||||||
|
|
||||||
|
prospect_contacts = fields.One2Many(
|
||||||
|
'prospect.contact_method', 'prospect_trace', 'Prospect contacts',
|
||||||
|
states=_states)
|
||||||
|
|
||||||
prospect_contact = fields.Many2One(
|
prospect_contact = fields.Many2One(
|
||||||
'prospect.contact_method', 'Contact method',
|
'prospect.contact_method', 'Contact method',
|
||||||
domain=[('prospect', '=', Eval('prospect'))])
|
domain=[('prospect', '=', Eval('prospect'))])
|
||||||
@ -72,7 +76,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
def wizard_make_call(cls, prospect_traces):
|
def wizard_make_call(cls, prospect_traces):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@fields.depends('prospect', 'prospect_city', 'prospect_contact')
|
@fields.depends(
|
||||||
|
'prospect', 'prospect_city', 'prospect_contact', 'prospect_contacts')
|
||||||
def on_change_prospect(self):
|
def on_change_prospect(self):
|
||||||
if not self.prospect:
|
if not self.prospect:
|
||||||
self.prospect_city = None
|
self.prospect_city = None
|
||||||
@ -82,6 +87,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
|
|
||||||
self.prospect_city = self.prospect.city
|
self.prospect_city = self.prospect.city
|
||||||
self.prospect_business_unit = self.prospect.business_unit
|
self.prospect_business_unit = self.prospect.business_unit
|
||||||
|
self.prospect_contacts = tuple(self._get_prospect_contacts())
|
||||||
|
|
||||||
mobile_contact = self._get_prospect_mobile_contact()
|
mobile_contact = self._get_prospect_mobile_contact()
|
||||||
if mobile_contact:
|
if mobile_contact:
|
||||||
self.prospect_contact = mobile_contact
|
self.prospect_contact = mobile_contact
|
||||||
@ -106,6 +113,15 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
|||||||
if contact_mobile:
|
if contact_mobile:
|
||||||
return contact_mobile[0]
|
return contact_mobile[0]
|
||||||
|
|
||||||
|
def _get_prospect_contacts(self):
|
||||||
|
pool = Pool()
|
||||||
|
ContactMethod = pool.get('prospect.contact_method')
|
||||||
|
|
||||||
|
contacts = ContactMethod.search(
|
||||||
|
[('prospect', '=', self.prospect.id)]
|
||||||
|
)
|
||||||
|
return contacts
|
||||||
|
|
||||||
|
|
||||||
class ScheduleCallStart(ModelView):
|
class ScheduleCallStart(ModelView):
|
||||||
'Inicio agendar llamada a seguimiento de prospecto'
|
'Inicio agendar llamada a seguimiento de prospecto'
|
||||||
|
@ -190,6 +190,8 @@ Crear seguimiento de prospecto::
|
|||||||
'brigade'
|
'brigade'
|
||||||
>>> prospect_trace.prospect_city.name
|
>>> prospect_trace.prospect_city.name
|
||||||
'Medellín'
|
'Medellín'
|
||||||
|
>>> prospect_trace.prospect_contacts
|
||||||
|
[proteus.Model.get('prospect.contact_method')(1), proteus.Model.get('prospect.contact_method')(2), proteus.Model.get('prospect.contact_method')(3)]
|
||||||
>>> prospect_trace.prospect_contact.value
|
>>> prospect_trace.prospect_contact.value
|
||||||
'31223425234'
|
'31223425234'
|
||||||
>>> prospect_trace.prospect_contact.contact_type
|
>>> prospect_trace.prospect_contact.contact_type
|
||||||
|
Loading…
Reference in New Issue
Block a user