# -*- coding:utf-8 -*- from openerp import api, fields, models from datetime import datetime class EiruCrm(models.Model): _inherit="crm.lead" task_ids = fields.One2many('crm.task','opportunity_id',"Actividades") facebook = fields.Char('Facebook') instagram = fields.Char('Instagram') @api.multi def open_wizard(self): now = datetime.now() return { 'name': 'AƱadir Actividad', 'type': 'ir.actions.act_window', 'res_model': 'crm.task', 'view_type': 'form', 'view_mode': 'form', 'target': 'new', 'context': { 'default_date_action_next': now.strftime("%Y-%m-%d %H:%M:00"), 'default_user_id': self.user_id.id, 'default_opportunity_id': self.id, 'default_partner_id': self.partner_id.id,}, 'flags': {'form': {'action_buttons': True}} } @api.one def _exist_task(self): now = datetime.now() for task in self: count1 = self.env['crm.task'].search_count([('opportunity_id', '=', task.id),('state','=','pending'), ('date_action_next','>=',now.strftime("%Y-%m-%d %H:%M:00"))]) count2 = self.env['crm.task'].search_count([('opportunity_id', '=', task.id),('date_action_next','<',now.strftime("%Y-%m-%d %H:%M:00")),('state','=','pending')]) if count1 > 0: self.exist_task = True if count2 > 0: self.expired_date = True exist_task = fields.Boolean(string="Tarea Pendiente", compute="_exist_task", store=False) expired_date = fields.Boolean(string="Fecha Vencida", compute="_exist_task", store=False) def on_change_partner_id(self, cr, uid, ids, partner_id, context=None): values = {} if partner_id: partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context) partner_name = (partner.parent_id and partner.parent_id.name) or (partner.is_company and partner.name) or False values = { 'partner_name': partner_name, 'contact_name': (not partner.is_company and partner.name) or False, 'title': partner.title and partner.title.id or False, 'street': partner.street, 'street2': partner.street2, 'city': partner.city, 'state_id': partner.state_id and partner.state_id.id or False, 'country_id': partner.country_id and partner.country_id.id or False, 'email_from': partner.email, 'phone': partner.phone, 'mobile': partner.mobile, 'fax': partner.fax, 'zip': partner.zip, 'function': partner.function, 'facebook': partner.facebook, 'instagram':instagram } return {'value': values} class CrmStage(models.Model): _inherit="crm.case.stage" type = fields.Selection([('opportunity', 'Oportunidad')], string='Tipo', required=True, default='opportunity')