From 1b445534fe7818a6b4e389ce244324c523877366 Mon Sep 17 00:00:00 2001 From: Invitu Date: Tue, 14 May 2013 10:28:18 -1000 Subject: [PATCH] [IMP] move generic_reformat_phonenumbers function to asterisk.common --- asterisk_click2dial/asterisk_click2dial.py | 49 ++++++++++--------- .../wizard/reformat_all_phonenumbers.py | 2 +- .../asterisk_click2dial_crm.py | 4 +- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/asterisk_click2dial/asterisk_click2dial.py b/asterisk_click2dial/asterisk_click2dial.py index 050442a..4c17d0e 100644 --- a/asterisk_click2dial/asterisk_click2dial.py +++ b/asterisk_click2dial/asterisk_click2dial.py @@ -422,28 +422,7 @@ class asterisk_common(orm.AbstractModel): #print "RESULT generic_phonenumber_to_e164", result return result - -class res_partner(osv.osv): - _name = 'res.partner' - _inherit = ['res.partner', 'asterisk.common'] - - - def format_phonenumber_to_e164(self, cr, uid, ids, name, arg, context=None): - return self.generic_phonenumber_to_e164(cr, uid, ids, [('phone', 'phone_e164'), ('mobile', 'mobile_e164'), ('fax', 'fax_e164')], context=context) - - _columns = { - 'phone_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Phone in E.164 format', readonly=True, multi="e164", store={ - 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['phone'], 10), - }), - 'mobile_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Mobile in E.164 format', readonly=True, multi="e164", store={ - 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['mobile'], 10), - }), - 'fax_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Fax in E.164 format', readonly=True, multi="e164", store={ - 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['fax'], 10), - }), - } - - def _generic_reformat_phonenumbers(self, cr, uid, vals, phonefields=['phone', 'fax', 'mobile'], context=None): + def generic_reformat_phonenumbers(self, cr, uid, vals, phonefields=['phone', 'fax', 'mobile'], context=None): """Reformat phone numbers in international format i.e. +33141981242""" if any([vals.get(field) for field in phonefields]): user = self.pool['res.users'].browse(cr, uid, uid, context=context) @@ -466,13 +445,35 @@ class res_partner(osv.osv): return vals + +class res_partner(osv.osv): + _name = 'res.partner' + _inherit = ['res.partner', 'asterisk.common'] + + + def format_phonenumber_to_e164(self, cr, uid, ids, name, arg, context=None): + return self.generic_phonenumber_to_e164(cr, uid, ids, [('phone', 'phone_e164'), ('mobile', 'mobile_e164'), ('fax', 'fax_e164')], context=context) + + _columns = { + 'phone_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Phone in E.164 format', readonly=True, multi="e164", store={ + 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['phone'], 10), + }), + 'mobile_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Mobile in E.164 format', readonly=True, multi="e164", store={ + 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['mobile'], 10), + }), + 'fax_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Fax in E.164 format', readonly=True, multi="e164", store={ + 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['fax'], 10), + }), + } + + def create(self, cr, uid, vals, context=None): - vals_reformated = self._generic_reformat_phonenumbers(cr, uid, vals, context=context) + vals_reformated = self.generic_reformat_phonenumbers(cr, uid, vals, context=context) return super(res_partner, self).create(cr, uid, vals_reformated, context=context) def write(self, cr, uid, ids, vals, context=None): - vals_reformated = self._generic_reformat_phonenumbers(cr, uid, vals, context=context) + vals_reformated = self.generic_reformat_phonenumbers(cr, uid, vals, context=context) return super(res_partner, self).write(cr, uid, ids, vals_reformated, context=context) diff --git a/asterisk_click2dial/wizard/reformat_all_phonenumbers.py b/asterisk_click2dial/wizard/reformat_all_phonenumbers.py index 2893513..91f529d 100644 --- a/asterisk_click2dial/wizard/reformat_all_phonenumbers.py +++ b/asterisk_click2dial/wizard/reformat_all_phonenumbers.py @@ -44,7 +44,7 @@ class reformat_all_phonenumbers(osv.osv_memory): init_partner = partner.copy() # partner is _updated_ by the fonction _reformat_phonenumbers() try: - partner_obj._reformat_phonenumbers(cr, uid, partner, context=context) + partner_obj.generic_reformat_phonenumbers(cr, uid, partner, context=context) except Exception, e: #raise osv.except_osv(_('Error :'), _("Problem on partner '%s'. Error message: %s" % (init_partner.get('name'), e[1]))) phonenumbers_not_reformatted += "Problem on partner '%s'. Error message: %s" % (init_partner.get('name'), e[1]) + "\n" diff --git a/asterisk_click2dial_crm/asterisk_click2dial_crm.py b/asterisk_click2dial_crm/asterisk_click2dial_crm.py index 9654075..262c51f 100644 --- a/asterisk_click2dial_crm/asterisk_click2dial_crm.py +++ b/asterisk_click2dial_crm/asterisk_click2dial_crm.py @@ -107,11 +107,11 @@ class crm_lead(osv.osv): def create(self, cr, uid, vals, context=None): - vals_reformated = self.pool['res.partner']._generic_reformat_phonenumbers(cr, uid, vals, context=context) + vals_reformated = self.generic_reformat_phonenumbers(cr, uid, vals, context=context) return super(crm_lead, self).create(cr, uid, vals_reformated, context=context) def write(self, cr, uid, ids, vals, context=None): - vals_reformated = self.pool['res.partner']._generic_reformat_phonenumbers(cr, uid, vals, context=context) + vals_reformated = self.generic_reformat_phonenumbers(cr, uid, vals, context=context) return super(crm_lead, self).write(cr, uid, ids, vals_reformated, context=context)