Invitu
12 years ago
5 changed files with 100 additions and 1 deletions
-
2asterisk_click2dial/asterisk_click2dial.py
-
1asterisk_click2dial_crm_claim/__init__.py
-
2asterisk_click2dial_crm_claim/__openerp__.py
-
66asterisk_click2dial_crm_claim/asterisk_click2dial_crm_claim.py
-
30asterisk_click2dial_crm_claim/crm_claim_view.xml
@ -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) |
||||
|
|
@ -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> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue