12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # -*- coding:utf-8 -*-
- from openerp import api, fields, models
- from datetime import datetime
- class crm_lead(models.Model):
- _inherit="crm.lead"
- task_ids = fields.One2many('crm.task','opportunity_id',"Actividades")
- @api.multi
- def open_wizard(self):
- now = datetime.now()
- view = self.env.ref('eiru_crm.crm_task_wizard')
- return {
- 'name': 'Añadir Actividad',
- 'res_model': 'crm.task',
- 'view_type': 'form',
- 'view_mode': 'form',
- 'target': 'new',
- 'views': [(view.id, 'form')],
- 'view_id': view.id,
- '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,
- },
- 'type': 'ir.actions.act_window',
- }
- @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': partner.instagram,
- }
- return {'value': values}
- class CrmStage(models.Model):
- _inherit="crm.case.stage"
- type = fields.Selection([('opportunity', 'Oportunidad')], string='Tipo', required=True, default='opportunity')
|