[IMP] improved code
bzr revid: pga@tinyerp.com-20130611064910-50u7hfdq7wkpym34
This commit is contained in:
parent
20662159e0
commit
b9fd2226ba
|
@ -22,45 +22,34 @@
|
|||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.tools.translate import _
|
||||
from urllib import urlencode
|
||||
from urlparse import urljoin
|
||||
|
||||
class crm_lead_forward_to_partner(osv.TransientModel):
|
||||
""" Forward info history to partners. """
|
||||
_name = 'crm.lead.forward.to.partner'
|
||||
|
||||
def get_partner(self, cr, uid, ids, context):
|
||||
lead_obj = self.pool.get('crm.lead')
|
||||
partner_id = lead_obj.search_geo_partner(cr, uid, ids, context)
|
||||
if partner_id:
|
||||
partner_id = partner_id[ids[0]]
|
||||
else:
|
||||
partner_id = False
|
||||
return partner_id
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
lead_obj = self.pool.get('crm.lead')
|
||||
email_template_obj = self.pool.get('email.template')
|
||||
base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url')
|
||||
template_id=email_template_obj.search(cr, uid,[('name','=','Lead Mass Mail'),('model_id.name','=','crm.lead.forward.to.partner')])
|
||||
model, template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', 'email_template_lead_forward_mail')
|
||||
res = super(crm_lead_forward_to_partner, self).default_get(cr, uid, fields, context=context)
|
||||
active_ids = context.get('active_ids')
|
||||
default_composition_mode = context.get('default_composition_mode')
|
||||
res['assignation_lines'] = []
|
||||
if template_id:
|
||||
res['body'] = email_template_obj.get_email_template(cr, uid, template_id[0]).body_html
|
||||
res['body'] = email_template_obj.get_email_template(cr, uid, template_id).body_html
|
||||
if active_ids:
|
||||
leads = lead_obj.browse(cr, uid, active_ids, context=context)
|
||||
for lead in leads:
|
||||
if (not lead.partner_assigned_id) and default_composition_mode == 'mass_mail':
|
||||
partner_id=self.get_partner(cr, uid, [lead.id], context)
|
||||
partner_id = lead_obj.search_geo_partner(cr, uid, [lead.id], context)
|
||||
res['assignation_lines'].append({'lead_id': lead.id,
|
||||
'subject': lead.name,
|
||||
'city':lead.city,
|
||||
'country_id':lead.country_id.id,
|
||||
'partner_assigned_id': partner_id,
|
||||
'partner_assigned_id': partner_id and partner_id[lead.id] or False,
|
||||
'lead_link':"%s/?db=%s#id=%s&model=crm.lead" % (base_url, cr.dbname, lead.id)
|
||||
})
|
||||
elif default_composition_mode == 'forward':
|
||||
|
@ -78,9 +67,9 @@ class crm_lead_forward_to_partner(osv.TransientModel):
|
|||
lead_obj = self.pool.get('crm.lead')
|
||||
record = self.browse(cr, uid, ids, context=context)
|
||||
email_template_obj = self.pool.get('email.template')
|
||||
tamplate_id=email_template_obj.search(cr, uid,[('name','=','Lead Mass Mail'),('model_id.name','=','crm.lead.forward.to.partner')])
|
||||
model, template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'crm_partner_assign', 'email_template_lead_forward_mail')
|
||||
if record[0].forward_type == "single":
|
||||
email_template_obj.send_mail(cr, uid, tamplate_id[0],ids[0])
|
||||
email_template_obj.send_mail(cr, uid, template_id, ids[0])
|
||||
active_ids = context.get('active_ids')
|
||||
if active_ids:
|
||||
lead_obj.write(cr, uid, active_ids, {'partner_assigned_id': record[0].partner_id.id , 'user_id': record[0].partner_id.user_id.id})
|
||||
|
@ -90,7 +79,7 @@ class crm_lead_forward_to_partner(osv.TransientModel):
|
|||
'lead_single_link': lead.lead_link,
|
||||
'lead_single_id':lead.lead_id.id
|
||||
})
|
||||
email_template_obj.send_mail(cr, uid,tamplate_id[0],ids[0])
|
||||
email_template_obj.send_mail(cr, uid, template_id, ids[0])
|
||||
lead_obj.write(cr, uid, [lead.lead_id.id], {'partner_assigned_id': lead.partner_assigned_id.id, 'user_id': lead.partner_assigned_id.user_id.id})
|
||||
return True
|
||||
|
||||
|
|
Loading…
Reference in New Issue