llamadas_pendientes.py 2.67 KB
# -*- coding: utf-8 -*-
from odoo import models, fields, api


class hgt_llamada_pendiente(models.TransientModel):
    _name = 'hgt.llamada_pendiente'
      
    organizacion = fields.Many2one(
        string=u'Organización',
        comodel_name='hgt.instituciones',
        ondelete='restrict',
    )
    
    fecha_llamada = fields.Datetime(
        string='Fecha y hora de la llamada',
    )

    fecha_hoy = fields.Date(
        string='Fecha del acuerdo',
        default=fields.Date.context_today,
    )
    
    medio = fields.Selection(
        string=u'Medio',
        selection=[('Telefono', 'Teléfono'), ('Whatsapp', 'Whatsapp'), ('E-Mail', 'E-Mail'),]
    )

    notas = fields.Text(
        string='Notas',
    )

    contacto = fields.Many2one(
        string='Contacto',
        comodel_name='asw.contactos',
        ondelete='restrict',
    )
    
    otro = fields.Boolean(
        string='Otro. Se creará contacto',
    )

    otro_nombre = fields.Char(
        string='Nombre',
        uppercase=True,              
    )

    otro_telefono = fields.Char(
        string=u'Teléfono',
    )
    
    otro_email = fields.Char(
        string=u'E-mail',
    )
    
    otro_celular = fields.Char(
        string='Celular',
    )  
    
    temas = fields.Html(
        string='Temas a tratar',
    )
    

    def crear_tarea(self):
        #primero creo el contacto si fue elegida la opcion otro
        if self.otro: 
            vals = {
                'ctc_nombre': self.otro_nombre,
                'ctc_telefono': self.otro_telefono,
                'ctc_email': self.otro_email,
                'ctc_celular': self.otro_celular,
                'ctc_nombre': self.otro_nombre,
            }
            nvo_contacto = self.env['asw.contactos'].create(vals)
            nvo_contacto.instituciones = [(4,self.organizacion.id)]
        #tarea:
        titulo = 'Contactar {}'.format(self.organizacion.name)
        if self.contacto: 
            descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.contacto.ctc_nombre,self.medio,self.temas)
        else: 
            descr = 'Llamar a {} por el medio: {}. Temas a tratar: {}'.format(self.nvo_contacto.ctc_nombre,self.medio,self.temas)
        vals2 = {
            'resumen' : titulo,
            'prioridad' : '1',
            'descripcion' : descr,

        }
        nva_tarea = self.env['hgt.tarea'].create(vals2)
        

    
    @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