Browse Source

[IMP] Add Dial button in Claim Form View

pull/7/head
Invitu 12 years ago
parent
commit
331636f53d
  1. 2
      asterisk_click2dial/asterisk_click2dial.py
  2. 1
      asterisk_click2dial_crm_claim/__init__.py
  3. 2
      asterisk_click2dial_crm_claim/__openerp__.py
  4. 66
      asterisk_click2dial_crm_claim/asterisk_click2dial_crm_claim.py
  5. 30
      asterisk_click2dial_crm_claim/crm_claim_view.xml

2
asterisk_click2dial/asterisk_click2dial.py

@ -422,7 +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
def generic_reformat_phonenumbers(self, cr, uid, vals, phonefields=['phone', 'fax', 'mobile'], context=None):
def generic_reformat_phonenumbers(self, cr, uid, vals, phonefields=['phone', 'partner_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)

1
asterisk_click2dial_crm_claim/__init__.py

@ -21,3 +21,4 @@
############################################################################## ##############################################################################
import wizard import wizard
import asterisk_click2dial_crm_claim

2
asterisk_click2dial_crm_claim/__openerp__.py

@ -3,6 +3,7 @@
# #
# Asterisk click2dial CRM Claim module for OpenERP # Asterisk click2dial CRM Claim module for OpenERP
# Copyright (c) 2012-2013 Akretion (http://www.akretion.com) # Copyright (c) 2012-2013 Akretion (http://www.akretion.com)
# Copyright (C) 2013 Invitu <contact@invitu.com>
# @author Alexis de Lattre <alexis.delattre@akretion.com> # @author Alexis de Lattre <alexis.delattre@akretion.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -40,6 +41,7 @@
"demo_xml": [], "demo_xml": [],
"update_xml": [ "update_xml": [
'wizard/open_calling_partner_view.xml', 'wizard/open_calling_partner_view.xml',
'crm_claim_view.xml',
], ],
"installable": True, "installable": True,
} }

66
asterisk_click2dial_crm_claim/asterisk_click2dial_crm_claim.py

@ -0,0 +1,66 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Asterisk click2dial CRM module for OpenERP
# Copyright (c) 2011 Zikzakmedia S.L. (http://zikzakmedia.com)
# Copyright (c) 2012-2013 Akretion (http://www.akretion.com)
# Copyright (C) 2013 Invitu <contact@invitu.com>
# @author: Jesús Martín <jmartin@zikzakmedia.com>
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.addons.base_status.base_stage import base_stage
from openerp.osv import osv, fields
# Lib required to print logs
import logging
# Lib to translate error messages
from openerp.tools.translate import _
# Lib for phone number reformating -> pip install phonenumbers
import phonenumbers
# Lib py-asterisk from http://code.google.com/p/py-asterisk/
# We need a version which has this commit : http://code.google.com/p/py-asterisk/source/detail?r=8d0e1c941cce727c702582f3c9fcd49beb4eeaa4
# so a version after Nov 20th, 2012
from Asterisk import Manager
_logger = logging.getLogger(__name__)
class crm_claim(osv.osv):
_name = 'crm.claim'
_inherit = ['crm.claim', 'asterisk.common']
def format_phonenumber_to_e164(self, cr, uid, ids, name, arg, context=None):
return self.generic_phonenumber_to_e164(cr, uid, ids, [('partner_phone', 'partner_phone_e164')], context=context)
_columns = {
'partner_phone_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Phone in E.164 format', readonly=True, multi="e164claim", store={
'crm.claim': (lambda self, cr, uid, ids, c={}: ids, ['partner_phone'], 10),
}),
}
def create(self, cr, uid, vals, context=None):
vals_reformated = self.generic_reformat_phonenumbers(cr, uid, vals, context=context)
return super(crm_claim, 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)
return super(crm_claim, self).write(cr, uid, ids, vals_reformated, context=context)

30
asterisk_click2dial_crm_claim/crm_claim_view.xml

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Asterisk Click2dial module for OpenERP
Copyright (C) 2010-2013 Alexis de Lattre <alexis@via.ecp.fr>
Copyright (C) 2010-2013 Invitu <contact@invitu.com>
The licence is in the file __openerp__.py
Inherit crm_claim views to add 'Dial' button next to 'phone'
field
-->
<openerp>
<data>
<record id="asterisk_crm_claim_form_dial" model="ir.ui.view">
<field name="name">asterisk.crm_claim.form.dial</field>
<field name="model">crm.claim</field>
<field name="inherit_id" ref="crm_claim.crm_case_claims_form_view"/>
<field name="arch" type="xml">
<xpath expr="//group/notebook/page[@string='Claim Description']/group/field[@name='partner_phone']" position="replace">
<group colspan="2" col="8">
<field name="partner_phone" colspan="7" />
<button name="action_dial" context="{'field2dial': ['partner_phone', 'partner_phone_e164']}" string="Dial" type="object" attrs="{'invisible':[('partner_phone','=',False)]}"/>
</group>
</xpath>
</field>
</record>
</data>
</openerp>
Loading…
Cancel
Save