Browse Source

[IMP] Add registration integration

pull/7/head
Invitu 12 years ago
parent
commit
ab01598c88
  1. 23
      asterisk_click2dial_registration/__init__.py
  2. 45
      asterisk_click2dial_registration/__openerp__.py
  3. 52
      asterisk_click2dial_registration/asterisk_click2dial_registration.py
  4. 53
      asterisk_click2dial_registration/registration_view.xml
  5. 22
      asterisk_click2dial_registration/wizard/__init__.py
  6. 29
      asterisk_click2dial_registration/wizard/open_calling_partner.py
  7. 23
      asterisk_click2dial_registration/wizard/open_calling_partner_view.xml

23
asterisk_click2dial_registration/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Asterisk Click2Dial Registration module for OpenERP
# Copyright (C) 2013 Invitu (http://www.invitu.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/>.
#
##############################################################################
import wizard
import asterisk_click2dial_registration

45
asterisk_click2dial_registration/__openerp__.py

@ -0,0 +1,45 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Asterisk click2dial Registration module for OpenERP
# Copyright (C) 2013 Invitu <contact@invitu.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/>.
#
##############################################################################
{
"name": "Asterisk Click2dial Registration",
"version": "0.1",
"author": "INVITU",
"website": "http://www.invitu.com",
"license" : "AGPL-3",
"category": "",
"description": """
This module adds a button "Open Registrations" on the "Open calling partner" wizard and a "Dial" button on the Registration form.
A detailed documentation for the OpenERP-Asterisk connector is available on the Akretion Web site : http://www.akretion.com/open-source-contributions/openerp-asterisk-voip-connector
""",
"depends": [
'asterisk_click2dial',
'event',
],
"demo": [],
"data": [
'wizard/open_calling_partner_view.xml',
'registration_view.xml',
],
"installable": True,
"application": True,
}

52
asterisk_click2dial_registration/asterisk_click2dial_registration.py

@ -0,0 +1,52 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Asterisk click2dial Registration module for OpenERP
# Copyright (C) 2013 Invitu <contact@invitu.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.osv import osv, fields
class event_registration(osv.osv):
_name = 'event.registration'
_inherit = ['event.registration', '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')], context=context)
_columns = {
# Note : even if we only have 1 field, we keep multi='..'
# because the generic function generic_phonenumber_to_e164() is designed
# to return the result as multi
'phone_e164': fields.function(format_phonenumber_to_e164, type='char', size=64, string='Phone in E.164 format', readonly=True, multi='e164registration', store={
'event.registration': (lambda self, cr, uid, ids, c={}: ids, ['phone'], 10),
}),
}
def create(self, cr, uid, vals, context=None):
vals_reformated = self._generic_reformat_phonenumbers(cr, uid, vals, context=context)
return super(event_registration, 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(event_registration, self).write(cr, uid, ids, vals_reformated, context=context)

53
asterisk_click2dial_registration/registration_view.xml

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Asterisk Click2dial CRM Claim module for OpenERP
Copyright (C) 2013 Invitu <contact@invitu.com>
The licence is in the file __openerp__.py
Inherit event registration view to add 'Dial' button next to 'phone'
field
-->
<openerp>
<data>
<record id="asterisk_event_registration_form_dial" model="ir.ui.view">
<field name="name">asterisk.event.registration.form.dial</field>
<field name="model">event.registration</field>
<field name="inherit_id" ref="event.view_event_registration_form"/>
<field name="arch" type="xml">
<field name="phone" position="replace">
<group colspan="2" col="3">
<field name="phone" colspan="2" />
<button name="action_dial" context="{'field2dial': ['phone', 'phone_e164']}" string="Dial" type="object" attrs="{'invisible':[('phone','=',False)]}"/>
</group>
</field>
</field>
</record>
<record id="asterisk_event_form_registration_tree_dial" model="ir.ui.view">
<field name="name">asterisk.event.form.registration.tree.dial</field>
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='registration_ids']/tree/field[@name='phone']" position="replace">
<field name="phone" colspan="2" />
<button name="action_dial" context="{'field2dial': ['phone', 'phone_e164']}" string="Dial" type="object" icon="terp-call-start" attrs="{'invisible':[('phone','=',False)]}"/>
</xpath>
</field>
</record>
<record id="asterisk_event_form_registration_form_dial" model="ir.ui.view">
<field name="name">asterisk.event.form.registration.form.dial</field>
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='registration_ids']/form/group/field[@name='phone']" position="replace">
<group colspan="2" col="3">
<field name="phone" colspan="2" />
<button name="action_dial" context="{'field2dial': ['phone', 'phone_e164']}" string="Dial" type="object" attrs="{'invisible':[('phone','=',False)]}"/>
</group>
</xpath>
</field>
</record>
</data>
</openerp>

22
asterisk_click2dial_registration/wizard/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Asterisk Click2Dial Registration module for OpenERP
# Copyright (C) 2013 Invitu (http://www.invitu.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/>.
#
##############################################################################
import open_calling_partner

29
asterisk_click2dial_registration/wizard/open_calling_partner.py

@ -0,0 +1,29 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Asterisk Click2dial Registration module for OpenERP
# Copyright (C) 2013 Invitu (http://www.invitu.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.osv import osv, fields
class wizard_open_calling_partner(osv.osv_memory):
_inherit = "wizard.open.calling.partner"
def open_registrations(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
return self.open_filtered_object(cr, uid, ids, self.pool.get('event.registration'), context=context)

23
asterisk_click2dial_registration/wizard/open_calling_partner_view.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2013 Invitu (http://www.invitu.com)
The licence is in the file __openerp__.py
-->
<openerp>
<data>
<!-- Add button on the "Open Calling partner" wizard -->
<record id="add_open_registrations_button" model="ir.ui.view">
<field name="name">asterisk_click2dial_registration.add_open_registrations_button</field>
<field name="model">wizard.open.calling.partner</field>
<field name="inherit_id" ref="asterisk_click2dial.view_open_calling_partner"/>
<field name="arch" type="xml">
<group name="partner_found" position="inside">
<button name="open_registrations" string="Open Related Registrations" type="object" icon="gtk-go-forward" />
</group>
</field>
</record>
</data>
</openerp>
Loading…
Cancel
Save