[FIX] create partner do not open partner view anymore but fill the partner_id field in lead form + view in m2m has only critical information
bzr revid: tfr@openerp.com-20110209164237-xiq0fqysijuqzh5f
This commit is contained in:
parent
bf5c7f5171
commit
dc6edddf75
|
@ -17,7 +17,14 @@
|
|||
<group col="4" colspan="4" attrs="{'invisible': [('name', '=', 'convert')]}" >
|
||||
<separator string="Select Opportunities" colspan="4" />
|
||||
</group>
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" attrs="{'invisible': [('name', '=', 'convert')]}"/>
|
||||
<field name="opportunity_ids" colspan="4" nolabel="1" attrs="{'invisible': [('name', '=', 'convert')]}">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="partner_id" />
|
||||
<field name="user_id" />
|
||||
<field name="section_id" />
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
<separator string="" colspan="4" />
|
||||
<group col="4" colspan="4">
|
||||
|
|
|
@ -65,7 +65,7 @@ class crm_lead2partner(osv.osv_memory):
|
|||
|
||||
@return : default values of fields.
|
||||
"""
|
||||
|
||||
|
||||
lead_obj = self.pool.get('crm.lead')
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
contact_obj = self.pool.get('res.partner.address')
|
||||
|
@ -80,8 +80,8 @@ class crm_lead2partner(osv.osv_memory):
|
|||
email = re.findall(r'([^ ,<@]+@[^> ,]+)', lead.email_from or '')
|
||||
email = map(lambda x: "'" + x + "'", email)
|
||||
if email:
|
||||
cr.execute("""select id from res_partner_address
|
||||
where
|
||||
cr.execute("""select id from res_partner_address
|
||||
where
|
||||
substring(email from '([^ ,<@]+@[^> ,]+)') in (%s)""" % (','.join(email)))
|
||||
address_ids = map(lambda x: x[0], cr.fetchall())
|
||||
if address_ids:
|
||||
|
@ -92,7 +92,7 @@ class crm_lead2partner(osv.osv_memory):
|
|||
if not partner_ids and lead.partner_name:
|
||||
partner_ids = partner_obj.search(cr, uid, [('name', '=', lead.partner_name)], context=context)
|
||||
if not partner_ids:
|
||||
cr.execute("""SELECT p.id from res_partner p
|
||||
cr.execute("""SELECT p.id from res_partner p
|
||||
where regexp_replace(lower(p.name), '[^a-z]*', '', 'g') = regexp_replace(%s, '[^a-z]*', '', 'g')""", (lead.name.lower(), ))
|
||||
partner_ids = map(lambda x: x[0], cr.fetchall())
|
||||
partner_id = partner_ids and partner_ids[0] or False
|
||||
|
@ -105,7 +105,7 @@ class crm_lead2partner(osv.osv_memory):
|
|||
res.update({'opportunity_ids': data})
|
||||
|
||||
return res
|
||||
|
||||
|
||||
def open_create_partner(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Opens form of create partner.
|
||||
|
@ -185,10 +185,15 @@ class crm_lead2partner(osv.osv_memory):
|
|||
if data.partner_id:
|
||||
partner_id = data.partner_id.id
|
||||
contact_id = partner_obj.address_get(cr, uid, [partner_id])['default']
|
||||
|
||||
self.assign_partner(cr, uid, lead.id, partner_id)
|
||||
partner_ids.append(partner_id)
|
||||
return partner_ids
|
||||
|
||||
|
||||
def assign_partner(self, cr, uid, lead_id, partner_id):
|
||||
self.pool.get("crm.lead").write(cr, uid, [lead_id], {'partner_id' : partner_id})
|
||||
|
||||
|
||||
def make_partner(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
This function Makes partner based on action.
|
||||
|
@ -207,19 +212,8 @@ class crm_lead2partner(osv.osv_memory):
|
|||
mod_obj = self.pool.get('ir.model.data')
|
||||
result = mod_obj._get_id(cr, uid, 'base', 'view_res_partner_filter')
|
||||
res = mod_obj.read(cr, uid, result, ['res_id'])
|
||||
|
||||
value = {
|
||||
'domain': "[]",
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'res.partner',
|
||||
'res_id': partner_ids and int(partner_ids[0]) or False,
|
||||
'view_id': False,
|
||||
'context': context,
|
||||
'type': 'ir.actions.act_window',
|
||||
'search_view_id': res['res_id']
|
||||
}
|
||||
return value
|
||||
print partner_ids
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
crm_lead2partner()
|
||||
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Create a Partner">
|
||||
<separator string="Create a Partner" colspan="4" />
|
||||
<label string="Are you sure you want to create a partner based on this lead ?" colspan="4"/>
|
||||
<label string="You may have to verify that this partner does not exist already." colspan="4"/>
|
||||
<field name="action"/>
|
||||
<group attrs="{'invisible':[('action','!=','exist')]}">
|
||||
<field name="partner_id" attrs="{'required': [('action', '=', 'exist')]}"/>
|
||||
|
|
|
@ -11,7 +11,14 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Merge Opportunities">
|
||||
<separator string="Select Opportunities" colspan="4"/>
|
||||
<field name="opportunity_ids" nolabel="1" colspan="4" width="550" height="300"/>
|
||||
<field name="opportunity_ids" nolabel="1" colspan="4" width="550" height="300" >
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="partner_id" />
|
||||
<field name="user_id" />
|
||||
<field name="section_id" />
|
||||
</tree>
|
||||
</field>
|
||||
<separator colspan="4"/>
|
||||
<group col="4" colspan="4">
|
||||
<button string="_Cancel" icon="gtk-cancel" special="cancel" />
|
||||
|
|
Loading…
Reference in New Issue