Commit d7c4d2d4 by Maria Agustina

312 terminada

1 parent c0b46a69
...@@ -35,6 +35,12 @@ class hgt_llamada_pendiente(models.TransientModel): ...@@ -35,6 +35,12 @@ class hgt_llamada_pendiente(models.TransientModel):
ondelete='restrict', ondelete='restrict',
) )
persona = fields.Many2one(
string='Persona',
comodel_name='hgt.personas',
ondelete='restrict',
)
otro = fields.Boolean( otro = fields.Boolean(
string='Otro. Se creará contacto', string='Otro. Se creará contacto',
) )
...@@ -60,43 +66,87 @@ class hgt_llamada_pendiente(models.TransientModel): ...@@ -60,43 +66,87 @@ class hgt_llamada_pendiente(models.TransientModel):
string='Temas a tratar', string='Temas a tratar',
) )
@api.onchange('organizacion')
def dominio_personas(self):
result = {}
result['domain'] = []
org = self.organizacion
ids = self.organizacion.personas_bidirecional.ids
result['domain'] = {'persona' : [('id', 'in', ids)]}
return result
@api.onchange('persona')
def dominio_contactos(self):
result = {}
result['domain'] = []
person = self.persona
ids = self.persona.contactos.ids
result['domain'] = {'contacto' : [('id', 'in', ids)]}
return result
def crear_tarea(self): def crear_tarea(self):
#primero creo el contacto si fue elegida la opcion otro
if self.otro: if self.otro:
#creo el contacto
vals = { vals = {
'ctc_nombre': self.otro_nombre, 'ctc_nombre': self.otro_nombre,
'ctc_telefono': self.otro_telefono, 'ctc_telefono': self.otro_telefono,
'ctc_email': self.otro_email, 'ctc_email': self.otro_email,
'ctc_celular': self.otro_celular, 'ctc_celular': self.otro_celular,
'ctc_nombre': self.otro_nombre,
} }
nvo_contacto = self.env['asw.contactos'].create(vals) nvo_contacto = self.env['asw.contactos'].create(vals)
nvo_contacto.instituciones = [(4,self.organizacion.id)] nvo_contacto.instituciones = [(4,self.organizacion.id)]
#creo la persona
div = self.otro_nombre.split()
if len(div)==1:
nom = div[0]
vals3 = {
'name': nom,
}
elif len(div)==2:
nom = div[0]
ap = div[1]
vals3 = {
'name': nom,
'apellido': ap,
}
elif len(div)>2:
nom = div[0]
ap = div[len(div)-1]
vals3 = {
'name': nom,
'apellido': ap,
}
nva_persona = self.env['hgt.personas'].create(vals3)
nva_persona.contactos = [(4,nvo_contacto.id)]
nvo_contacto.personas = [(4,nva_persona.id)]
self.persona = nva_persona.id
#tarea: #tarea:
titulo = 'Contactar {}'.format(self.organizacion.name) titulo = 'Contactar {}'.format(self.organizacion.name)
if self.notas:
if self.contacto: if self.contacto:
descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.contacto.ctc_nombre,self.medio,self.temas) descr = '{} - Llamar a {} por el medio: {}. Temas a tratar: {}Notas: {}'.format(self.fecha_llamada,self.contacto.ctc_nombre,self.medio,self.temas,self.notas)
elif self.otro:
descr = '{} - Llamar a {} por el medio: {}. Temas a tratar: {}Notas: {}'.format(self.fecha_llamada, nvo_contacto.ctc_nombre,self.medio,self.temas,self.notas)
else: else:
descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.nvo_contacto.ctc_nombre,self.medio,self.temas) if self.contacto:
descr = '{} - Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.fecha_llamada,self.contacto.ctc_nombre,self.medio,self.temas)
elif self.otro:
descr = '{} - Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.fecha_llamada, nvo_contacto.ctc_nombre,self.medio,self.temas)
vals2 = { vals2 = {
'resumen' : titulo, 'resumen' : titulo,
'prioridad' : '1', 'prioridad' : '1',
'descripcion' : descr, 'descripcion' : descr,
'cierre': self.fecha_llamada,
} }
nva_tarea = self.env['hgt.tarea'].create(vals2) nva_tarea = self.env['hgt.tarea'].create(vals2)
nva_tarea.contacto = [(4,self.persona.id)]
@api.onchange('organizacion')
def dominio_contactos(self):
result = {}
result['domain'] = []
org = self.organizacion
ids = self.organizacion.contactos.ids
result['domain'] = {'contacto' : [('id', 'in', ids)]}
return result
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<field name="notas" colspan="2" /> <field name="notas" colspan="2" />
</group> </group>
<group col="4" string="Contacto"> <group col="4" string="Contacto">
<field name="persona" colspan="2" />
<field name="contacto" colspan="2" /> <field name="contacto" colspan="2" />
<field name="otro" colspan="2" /> <field name="otro" colspan="2" />
<field name="otro_nombre" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True)] }"/> <field name="otro_nombre" colspan="2" attrs="{ 'invisible': [('otro','=', False)], 'required': [('otro','=', True)] }"/>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!