Browse Source

[IMP] move generic_reformat_phonenumbers function to asterisk.common

pull/7/head
Invitu 12 years ago
parent
commit
1b445534fe
  1. 49
      asterisk_click2dial/asterisk_click2dial.py
  2. 2
      asterisk_click2dial/wizard/reformat_all_phonenumbers.py
  3. 4
      asterisk_click2dial_crm/asterisk_click2dial_crm.py

49
asterisk_click2dial/asterisk_click2dial.py

@ -422,28 +422,7 @@ class asterisk_common(orm.AbstractModel):
#print "RESULT generic_phonenumber_to_e164", result #print "RESULT generic_phonenumber_to_e164", result
return 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""" """Reformat phone numbers in international format i.e. +33141981242"""
if any([vals.get(field) for field in phonefields]): if any([vals.get(field) for field in phonefields]):
user = self.pool['res.users'].browse(cr, uid, uid, context=context) user = self.pool['res.users'].browse(cr, uid, uid, context=context)
@ -466,13 +445,35 @@ class res_partner(osv.osv):
return vals 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): 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) return super(res_partner, self).create(cr, uid, vals_reformated, context=context)
def write(self, cr, uid, ids, vals, context=None): 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) return super(res_partner, self).write(cr, uid, ids, vals_reformated, context=context)

2
asterisk_click2dial/wizard/reformat_all_phonenumbers.py

@ -44,7 +44,7 @@ class reformat_all_phonenumbers(osv.osv_memory):
init_partner = partner.copy() init_partner = partner.copy()
# partner is _updated_ by the fonction _reformat_phonenumbers() # partner is _updated_ by the fonction _reformat_phonenumbers()
try: try:
partner_obj._reformat_phonenumbers(cr, uid, partner, context=context)
partner_obj.generic_reformat_phonenumbers(cr, uid, partner, context=context)
except Exception, e: except Exception, e:
#raise osv.except_osv(_('Error :'), _("Problem on partner '%s'. Error message: %s" % (init_partner.get('name'), e[1]))) #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" phonenumbers_not_reformatted += "Problem on partner '%s'. Error message: %s" % (init_partner.get('name'), e[1]) + "\n"

4
asterisk_click2dial_crm/asterisk_click2dial_crm.py

@ -107,11 +107,11 @@ class crm_lead(osv.osv):
def create(self, cr, uid, vals, context=None): 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) return super(crm_lead, self).create(cr, uid, vals_reformated, context=context)
def write(self, cr, uid, ids, vals, context=None): 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) return super(crm_lead, self).write(cr, uid, ids, vals_reformated, context=context)
Loading…
Cancel
Save