eiru_crm.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # -*- coding:utf-8 -*-
  2. from openerp import api, fields, models
  3. from datetime import datetime
  4. class EiruCrm(models.Model):
  5. _inherit="crm.lead"
  6. task_ids = fields.One2many('crm.task','opportunity_id',"Actividades")
  7. facebook = fields.Char('Facebook')
  8. instagram = fields.Char('Instagram')
  9. @api.multi
  10. def open_wizard(self):
  11. now = datetime.now()
  12. return {
  13. 'name': 'Añadir Actividad',
  14. 'type': 'ir.actions.act_window',
  15. 'res_model': 'crm.task',
  16. 'view_type': 'form',
  17. 'view_mode': 'form',
  18. 'target': 'new',
  19. 'context': {
  20. 'default_date_action_next': now.strftime("%Y-%m-%d %H:%M:00"),
  21. 'default_user_id': self.user_id.id,
  22. 'default_opportunity_id': self.id,
  23. 'default_partner_id': self.partner_id.id,},
  24. 'flags': {'form': {'action_buttons': True}}
  25. }
  26. @api.one
  27. def _exist_task(self):
  28. now = datetime.now()
  29. for task in self:
  30. count1 = self.env['crm.task'].search_count([('opportunity_id', '=', task.id),('state','=','pending'), ('date_action_next','>=',now.strftime("%Y-%m-%d %H:%M:00"))])
  31. count2 = self.env['crm.task'].search_count([('opportunity_id', '=', task.id),('date_action_next','<',now.strftime("%Y-%m-%d %H:%M:00")),('state','=','pending')])
  32. if count1 > 0:
  33. self.exist_task = True
  34. if count2 > 0:
  35. self.expired_date = True
  36. exist_task = fields.Boolean(string="Tarea Pendiente", compute="_exist_task", store=False)
  37. expired_date = fields.Boolean(string="Fecha Vencida", compute="_exist_task", store=False)
  38. def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
  39. values = {}
  40. if partner_id:
  41. partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
  42. partner_name = (partner.parent_id and partner.parent_id.name) or (partner.is_company and partner.name) or False
  43. values = {
  44. 'partner_name': partner_name,
  45. 'contact_name': (not partner.is_company and partner.name) or False,
  46. 'title': partner.title and partner.title.id or False,
  47. 'street': partner.street,
  48. 'street2': partner.street2,
  49. 'city': partner.city,
  50. 'state_id': partner.state_id and partner.state_id.id or False,
  51. 'country_id': partner.country_id and partner.country_id.id or False,
  52. 'email_from': partner.email,
  53. 'phone': partner.phone,
  54. 'mobile': partner.mobile,
  55. 'fax': partner.fax,
  56. 'zip': partner.zip,
  57. 'function': partner.function,
  58. 'facebook': partner.facebook,
  59. 'instagram':partner.instagram
  60. }
  61. return {'value': values}
  62. class CrmStage(models.Model):
  63. _inherit="crm.case.stage"
  64. type = fields.Selection([('opportunity', 'Oportunidad')], string='Tipo', required=True, default='opportunity')