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')
|
||||
|
||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||
prospect_trace = fields.Many2One(
|
||||
'sale.prospect_trace', 'Prospect Trace', required=False)
|
||||
|
||||
@classmethod
|
||||
def default_contact_type(cls):
|
||||
|
@ -16,13 +16,17 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
||||
_states = {'readonly': True}
|
||||
|
||||
prospect = fields.Many2One('sale.prospect', 'Prospect', required=True)
|
||||
|
||||
prospect_business_unit = fields.Selection(
|
||||
[('brigade', 'Brigade'),
|
||||
('optics', 'Optics'),
|
||||
('equipment', 'Equipment')],
|
||||
'Business unit', states=_states
|
||||
)
|
||||
|
||||
prospect_contacts = fields.One2Many(
|
||||
'prospect.contact_method', 'prospect_trace', 'Prospect contacts',
|
||||
states=_states)
|
||||
|
||||
prospect_contact = fields.Many2One(
|
||||
'prospect.contact_method', 'Contact method',
|
||||
domain=[('prospect', '=', Eval('prospect'))])
|
||||
@ -72,7 +76,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
||||
def wizard_make_call(cls, prospect_traces):
|
||||
pass
|
||||
|
||||
@fields.depends('prospect', 'prospect_city', 'prospect_contact')
|
||||
@fields.depends(
|
||||
'prospect', 'prospect_city', 'prospect_contact', 'prospect_contacts')
|
||||
def on_change_prospect(self):
|
||||
if not self.prospect:
|
||||
self.prospect_city = None
|
||||
@ -82,6 +87,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
self.prospect_city = self.prospect.city
|
||||
self.prospect_business_unit = self.prospect.business_unit
|
||||
self.prospect_contacts = tuple(self._get_prospect_contacts())
|
||||
|
||||
mobile_contact = self._get_prospect_mobile_contact()
|
||||
if mobile_contact:
|
||||
self.prospect_contact = mobile_contact
|
||||
@ -106,6 +113,15 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
|
||||
if contact_mobile:
|
||||
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):
|
||||
'Inicio agendar llamada a seguimiento de prospecto'
|
||||
|
@ -190,6 +190,8 @@ Crear seguimiento de prospecto::
|
||||
'brigade'
|
||||
>>> prospect_trace.prospect_city.name
|
||||
'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
|
||||
'31223425234'
|
||||
>>> prospect_trace.prospect_contact.contact_type
|
||||
|
Loading…
Reference in New Issue
Block a user