diff options
| author | Christophe Matthieu <chm@openerp.com> | 2013-02-28 11:52:55 +0100 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2013-02-28 11:52:55 +0100 |
| commit | 019f267848acd0cffe9b22c276e768afa304bfe8 (patch) | |
| tree | b73bd56725162bd49f6ea56f9438c2ec1e07f337 /addons/web_linkedin/web_linkedin.py | |
| parent | c2fa5529490d68852a1ab70f029c6d90daa75c31 (diff) | |
[IMP] linkedin: linkedin_check_similar_partner only one request
bzr revid: chm@openerp.com-20130228105255-r9kpmthhgc4zbgvq
Diffstat (limited to 'addons/web_linkedin/web_linkedin.py')
| -rw-r--r-- | addons/web_linkedin/web_linkedin.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index 176b0cdfe20..92adb30d3dd 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -65,6 +65,27 @@ class web_linkedin_fields(osv.Model): res[partner.id] = partner.linkedin_url return res + def linkedin_check_similar_partner(self, cr, uid, linkedin_datas, context=None): + res = [] + res_partner = self.pool.get('res.partner') + for linkedin_data in linkedin_datas: + partner_ids = res_partner.search(cr, uid, ["|", ("linkedin_id", "=", linkedin_data['id']), + "&", ("linkedin_id", "=", False), + "|", ("name", "ilike", linkedin_data['firstName'] + "%" + linkedin_data['lastName']), ("name", "ilike", linkedin_data['lastName'] + "%" + linkedin_data['firstName'])], context=context) + if partner_ids: + partner = res_partner.read(cr, uid, partner_ids[0], ["image", "mobile", "phone", "parent_id", "name", "email", "function", "linkedin_id"], context=context) + if partner['linkedin_id'] and partner['linkedin_id'] != linkedin_data['id']: + partner.pop('id') + if partner['parent_id']: + partner['parent_id'] = partner['parent_id'][0] + for key, val in partner.items(): + if not val: + partner.pop(key) + res.append(partner) + else: + res.append({}) + return res + _columns = { 'linkedin_id': fields.char(string="LinkedIn ID", size=50), 'linkedin_url': fields.char(string="LinkedIn url", size=100, store=True), |
